在Word里使用部分正则表达式

来源:互联网 发布:php获取页面源码 编辑:程序博客网 时间:2024/05/13 03:31
作为一套昂贵的字处理软件,Word里竟然不可用正则表达式,实在令人发指。不过他的查找替换里可以使用通配符(Wildcards),可以实现一部分的正则表达式功能。

例如:把所有email地址改写 mailto:xxx@gmail.com 的形式,可以用以下操作:
Ctrl-H
more
Use wildcards
Find what: ([a-zA-Z0-9.+_-]@/@[a-zA-Z0-9]@.[a-z]@)
Replace with: mailto:/1
然后替换就可以了。
一些常用的正则表达式(已含所有的 MS Word 可用的通配符)
含义
GNU grep
GNU Emacs
Perl
MS Word
任何单个字符
.
.
.
?
符合其中的任一字符
[...]
[...]
[...]
[...]
符合除此之外的任一字符
[^...]
[^...]
[^...]
[!...]
子表达式
/(re/)
/(re/)
(re)
(re)
表达式重复多次
re/{.../}
re/{.../}
re{...}
re{...}
表达式出现0或1次
re/?
re?
re?
表达式出现0或多次
re*
re*
re*
表达式出现1或多次
re/+
re+
re+
re@
表达式出现0或1次(lazy mode)
re??
re??
表达式出现0或多次(lazy mode)
re*?
re*?
表达式出现1或多次(lazy mode)
re+?
re+?
单词起始
/<
/<
<
单词结尾
/>
/>
>
单词边界(起始或结尾)
/b
/b
/b
非单词边界
/B
/B
/B
任意字符串
.*
.*
.*
*
行首
^
^
^
行末
$
$
$
换行符
/n
C-q C-j
/n
^13
或“
re/|re
re/|re
re|re
引用上次找到的内容
不知道
/&
不知道
^&
引用被括号捕获的内容
/digit
/digit
/digit
/digit
含义
GNU grep
GNU Emacs
Perl
MS Word

注:
re 代表一个正则表达式 (RegExp)
MS Word里多次匹配,最少是一次,没有0次。
/digit 指 /后面加数字 如 /1 /2
正则表达式里括号子表达式可以嵌套使用,Word里好像不行
原创粉丝点击