水淼正则表达式精灵是一款适合初学者学习、程序员调试、任务批处理的正则表达式工具。软件具有友好的界面,内置语法参考和学习教程,非常容易操作,执行效率高。
正则在文本处理应用领域非常广,很多功能都少不了正则,很多复杂、无规则的文本结构都要靠正则来匹配和替换。可谓文本处理魔术师。
本程序提供2种正则应用:一是搜索,即根据搜索表达式匹配出部分文本数据;二是替换,即根据匹配表达式和替换表达式来替换文本。
这两种应用都支持选择文件或文件夹批量处理,并自动在目标文件所在目录中新建目录保存处理后的文件。
1.53:修复自动预览选择框被隐藏的bug;增加检测当搜索表达式或匹配表达式为空时,不自动预览(以免出现超负荷匹配)。
1.54:修复批量搜索时只输出第一个搜索结果的bug;更新软件界面、功能和相关概念。
1.55:积累更新。
1.552:更新界面字体颜色、大小等。
符 注释
\ 将下一个字符标记为特殊字符或字面值。例如"n"与字符"n"匹配。"\n"与换行符匹配。序列"\\"与"\"匹配对面,"\("与"("匹配。
^ 匹配输入的开始位置。
$ 匹配输入的结尾。
* 匹配前一个字符零次或几次。例如,"zo*"可以匹配"z"、"zoo"。
+ 匹配前一个字符一次或多次。例如,"zo+"可以匹配"zoo",但不匹配"z"。
? 匹配前一个字符零次或一次。例如,"a?ve?"可以匹配"never"中的"ve"。
. 匹配换行符以外的任何字符。
(patt... 与模式匹配并记住匹配。匹配的子字符串可以从作为结果的Matches集合中使用Item[0]...[n]取得。如果要匹配括号字符(和),可使用"\("或"\)"。
x|y 匹配x或y。例如"z|food"可匹配"z"或"food"。"(z|f)ood"匹配"zoo"或"food"。
{n} n为非负的整数。匹配恰好n次。例如,"o{2}"不能与"Bob中的"o"匹配,但是可以与"foooood"中的前两个o匹配。
{n,} n为非负的整数。匹配至少n次。例如,"o{2,}"不匹配"Bob"中的"o",但是匹配"foooood"中所有的o。"o{1,}"等价于"o+"。"o{0,}"等价于"o*"。
{n,m} m和n为非负的整数。匹配至少n次,至多m次。例如,"o{1,3}"匹配"fooooood"中前三个o。"o{0,1}"等价于"o?"。
[xyz] 一个字符集。与括号中字符的其中之一匹配。例如,"[abc]"匹配"plain"中的"a"。
[^xyz] 一个否定的字符集。匹配不在此括号中的任何字符。例如,"[^abc]"可以匹配"plain"中的"p".
[a-z] 表示某个范围内的字符。与指定区间内的任何字符匹配。例如,"[a-z]"匹配"a"与"z"之间的任何一个小写字母字符。
[^m-z] 否定的字符区间。与不在指定区间内的字符匹配。例如,"[m-z]"与不在"m"到"z"之间的任何字符匹配。
\b 与单词的边界匹配,即单词与空格之间的位置。例如,"er\b"与"never"中的"er"匹配,但是不匹配"verb"中的"er"。
\B 与非单词边界匹配。"ea*r\B"与"neverearly"中的"ear"匹配。
\d 与一个数字字符匹配。等价于[0-9]。
\D 与非数字的字符匹配。等价于[^0-9]。
\f 与分页符匹配。
\n 与换行符字符匹配。
\r 与回车字符匹配。
\s 与任何白字符匹配,包括空格、制表符、分页符等。等价于"[\f\n\r\t\v]"。
\S 与任何非空白的字符匹配。等价于"[^\f\n\r\t\v]"。
\t 与制表符匹配。
\v 与垂直制表符匹配。
\w 与任何单词字符匹配,包括下划线。等价于"[A-Za-z0-9_]"。
\W 与任何非单词字符匹配。等价于"[^A-Za-z0-9_]"。
\num 匹配num个,其中num为一个正整数。引用回到记住的匹配。例如,"(.)\1"匹配两个连续的相同的字符。
\n 匹配n,其中n是一个八进制换码值。八进制换码值必须是1,2或3个数字长。例如,"\11"和"\011"都与一个制表符匹配。"\0011"等价于"\001"与"1"。八进制换码值不得超过256。否则,只有前两个字符被视为表达式的一部分。允许在正则表达式中使用ASCII码。