子表达式
([1-9])
\1\2
1.ultraedit可以使用正则表达式替换字符串
看ultraedit的帮助,选择正则表达式
1.1.正则表达式选择ultraedit
ip地址分配对应表.txt
003.000.000.000 003.255.255.255 [美国][新泽西通用电气公司]
把空格替换为逗号,而且只替换数字后面的空格。
替换里面选择正则表达式,正则表达式引擎选择ultraedit
^([0-9]^) +
替换为
^1,
结果如下:
003.000.000.000,003.255.255.255,[美国][新泽西通用电气公司]
1.2.正则表达式选择unix-通用格式的正则表达式
([0-9]) +替换为\1,
1.3.另外一个例子:公司联系信息表.txt
"无锡市九顺管业有限公司","失望无","wxjy@pub.wx.jsinfo.net"
"无锡市爸爸公司","王八蛋","bbwbd@163.com"
现在假设我们希望留下邮箱,给每个邮箱发通知。
.+"(.+@.+\..+)"
替换为\1
更加严格的写法,使用了行首和行尾的标记^和$
^.+"(.+@.+\..+)"$
接下来,我们假设认为163.com这个服务器已经无效,任何保护这个的邮箱就会被废弃。
我们也可以使用正则表达式来完成
我们使用ultraedit引擎的正则表达式
*@163.com替换为空白
*和unix引擎的.是一样的;
我们连空行都不需要有,怎么办呢?
ctrl+H,我们可以看到文件的16进制形式
实际上,每一行的结尾都有两个字符0D0A
^n*@163.com^r替换
我们再来,把所有邮箱变成@sina.com
还是使用ultraedit引擎
%表示一行的开始
%^(*@^)*$
替换为
^1sina.com
不同于unix引擎,^(和^)之间的表示一个子表达式
^1而不是\1可以引用第一个子表达式