天天看点

Word中使用正则表达式进行查找和替换Word中使用正则表达式进行查找和替换

在实际开发中经常使用对WORD/EXCEL及其他数据格式的整理,其中之一便是使用WORD中的查找与替换功能整理数据。

对于最一般的查找与替换功能相信各位都熟悉了,但是借助于WORD所支持的正则表达式,我们可以实现更复杂和实用的数据格式更改。

我搜索了一些文章都提供了有关使用正则表达式的不同程度的例子,但是直接套用有许多不行。因此,我想在本文中好好整理一下,但是

时间原因,一下没法整理完,只好一部分一部分地来,将会整理到这一个文章中。

首先,来看一下WORD对于正则表达式的支持吧。

用于查找

类型

示例

任一字符

?

s?t 可找到“sat”和“set”。

任何字符串

*

s*d 可找到“sad”和“started”。

单词开头

<

<(inter) 可找到“interesting”和“intercept”,但找不到“splintered”。

单词结尾

>

(in)> 可找到“in”和“within”,但找不到“interesting”。

指定字符之一

[ ]

w[io]n 可找到“win”和“won”。

此范围内的任一字符

[-]

[r-t]ight 可找到“right”和“sight”。范围必须是升序。

除了括号内范围中的字符之外的任一字符

[!x-z]

t[!a-m]ck 可找到“tock”和“tuck”,但找不到“tack”或“tick”。

前一个字符或表达式的 n 个匹配项

{n}

fe{2}d 可找到“feed”,但找不到“fed”。

前一个字符或表达式的至少 n 个匹配项

{n,}

fe{1,}d 可找到“fed”和“feed”。

前一个字符或表达式的 n 到 m 个匹配项

{n,m}

10{1,3} 可找到“10”、“100”和“1000”。

前一个字符或表达式的一个或多个匹配项

@

lo@t 可找到“lot”和“loot”。

例如如下分布的一些英语单词:

English    英语/英语的

Chinese   汉语/汉语的

...

注意,上面单词后面都跟了2个或者2个以上的空格字符。

于是我们可以构造下面的查找表达式(左边大括号的左边是一个半角空格字符):

 {2,}

注意,还要选择使用通配符(必须的)。

替换表达式是: ^t

本文转自朱先忠老师51CTO博客,原文链接: http://blog.51cto.com/zhuxianzhong/1531777,如需转载请自行联系原作者

继续阅读