|
黄老师:
能取得MVP荣誉的,这世上可没几个,而您就是其中之一。
您让我解释一下,就像一板砖拍到我脸上。
我也是刚学了一点点 Word 替换用的通配符,解释得不通顺或者有错误,敬请谅解。
使用通配状态下,
一对圆括号括起来的就是一个“表达式”
例如
([0-9]{4})([0-9]{2})([0-9]{2})
就是如下3个表达式:
([0-9]{4})
([0-9]{2})
([0-9]{2})
表达式按先后产生顺序号,这个顺序号在“替换为”里用到。
这里插一句,将“替换为”解释一下,
“替换为”用反斜杠引用第n个表达式,上述例子中:
\1 就是替换第1个表达式,即引用([0-9]{4})
\2 就是替换第2个表达式,即引用([0-9]{2})
……依此类推。
再回头说“查找内容”的表达式,
一对方括号括起来的表示“范围内的字符”,里边的减号“-”表示“至”,逗号“,”表示一个个的,这种表示方式您在VBA里经常用到,
例如
[0-9]就是0123456789
[0-9,A,B,C,D]就是0123456789ABCD
[0-9,a-f]就是0123456789abcdef
一对花括号括起来的表示“出现次数范围”,它对前面方括号起作用,它里边的逗号“,”是参数分隔符,逗号前后的表示起止数,
例如
{4}表示只查找连续4个
{1,4}表示查找1至4个
{1,2}表示查找1至2个
合起来举例说明:
([0-9]{4})([0-9]{2})([0-9]{2})
表示
查找0-9的4位数、紧跟着查找0-9的2位数、再紧跟着查找0-9的2位数
具体实例就是将20130825分成4、2、2位一次性查找,即找到“2013”“08”“25”,当然它们是不能分开的。
而查找实际字符,放在圆括号外就行了,例如:
([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})
表示
查找0至9的4位数、查找斜杠、查找0至9的1位和2位、查找斜杠、查找0至9的1位和2位,
这里的“替换为”仍是
\1年\2月\3日
\1年 即引用([0-9]{4})原文,后边跟个“年”
\2月 即引用([0-9]{1,2})原文,后边跟个“月”
\3日 即引用最后一个([0-9]{1,2})原文,后边跟个“日”
而查找内容里3对圆括号之间的斜杠“/”,
在“替换为”里相当于啥都没有,所以斜杠“/”就替换没了。
抱歉,我的文字功底有限,说的既不简练也不很清楚。
|
|