Sublime Text 中使用正则表达式查找与替换

如上图,我要把bitcoin替换成name里面的单词:

  1. 查找匹配:([a-z]*)’,'([a-z]*)’,'(\S*/)(bitcoin)
  2. \1′,’\2′,’\3\1

解释:

([a-z]*)表示第一部分,就是name中字段,然后用’,’分开第二个字段([a-z]*)即description,然后再用’,’,利用(\S*/)表示从https开始到bitcoin前的字段,即为第三部分。\S 表示匹配非空字符,*表示重复前一个表达式多次。

在替换里面,\1 \2 \3\ 分别表示查找里面的第一二三部分,因为第四部分bitocin要用第一部分替换,所以是\1,其他维持不变,所以替换表达式\1′,’\2′,’\3\1。

虽然上面能替换简单的字符,当字段中出现空格等其他字符的时候就不能查找出来了,所以采用第二种方法:

查找:'(.*)’,'(.*)’,'(\S*/)(bitcoin)

替换:’\1′,’\2′,’\3\1

这样,就将name字段以后部分查找出来了。

下面要替换大写字符为小写:

查找:coins-logos/(.*).svg

替换:coins-logos/\L\1\E.svg

\E end,表示大小写转换的结束范围
\l low,表示把下一个字符转为小写
\L Low,表示把\L与\E之间的字符转为小写
\u up,表示把下一个字符转为大写
\U Up,表示把\U与\E之间的字符转为大写\E end,表示大小写转换的结束范围
\l low,表示把下一个字符转为小写
\L Low,表示把\L与\E之间的字符转为小写
\u up,表示把下一个字符转为大写
\U Up,表示把\U与\E之间的字符转为大写

下面要替换空格为-

查找:coins-logos/(.*)(\s)(\S+).svg

替换:coins-logos/\1-\3.svg

(\s)就表示一个空格字段,(.*)表示空格前的第一部分,(\S+)表示空格后的非单字符,然后第二部分在第二部分替换成-。

如果有多个空格,只需要执行多次替换就可解决。

 

另外,sublime中也会用到复制重复一个字段,查找这个字段 (表达式),然后用\1\1这样的替换就可完成。

1.正则表达式:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions
2.Working with EditPlus Text Editor-Regular Expression How To:http://kedar.nitty-witty.com/blog/working-with-editplus-text-editor-regular-expression-how-to

Leave A Comment

Your email address will not be published. Required fields are marked *