正则表达式的部分替换

有时候匹配上的词并不想要完全替换掉,今天查了一下发现可以用\1 \2这种方式来指代匹配字符串中的第一个或者第二个括号,就相当于保留下这部分内容。

例子比较笨拙,但是能说明这种用法。

例子原句:

Some words.中文翻译。

 

为了格式好看,在英文句号后加一空格

 

Find what:       (.)([! ])                  //匹配.和后面紧挨着一个非空白字符

Replace with:   . \2                       //注意中间有空格,\2表示引用第二个括号匹配的内容

 

 

一些常用的正则表达式(已含所有的 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里使用部分正则表达式

posted on 2010-08-21 13:50  lbsx  阅读(9723)  评论(1编辑  收藏  举报