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

  作为一套昂贵的字处理软件,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 grepGNU EmacsPerlMS 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
任意字符串.*.*.**
行首^^^
行末$$$
换行符\nC-q C-j\n^13
”或“re\|rere\|rere|re
引用上次找到的内容不知道\&不知道^&
引用被括号捕获的内容\digit\digit\digit\digit
含义GNU grepGNU EmacsPerlMS Word

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值