UltraEdit / Unix正则表达式。我想用名称+空格+用名称+#+数字替换所有行SANTIAGO 80,00

时间:2018-07-09 22:59:22

标签: ultraedit

UltraEdit / Unix正则表达式。我想用名称+空格+数字将所有行替换为名称+#+数字

示例:将SANTIAGO 80,00替换为SANTIAGO#80,00,所有行将像这样

我可以在Unix表达式中找到想要搜索的内容:[^ t ^ b] [0-9]

1 个答案:

答案 0 :(得分:0)

UltraEdit具有三个正则表达式引擎。

第一个使用带有tagged regular expression UltraEdit 正则表达式引擎的解决方案:

查找内容:^([^t ]^)^([0-9]^)
替换为:^1#^2

使用 Unix Perl 正则表达式引擎的第二种解决方案,也使用marking groups and backreferences做同样的事情:

查找内容:([\t ])([0-9])
替换为:\1#\2

这两个解决方案搜索水平制表符或普通空格后跟数字,然后标记这两个字符以在替换字符串中向后引用,从而在它们之间插入#

使用功能最强大的 Perl 正则表达式,也可以仅在制表符/空格和一个数字之间插入#,从而减​​少还原记录的数据。

查找内容:(?<=[\t ])(?=\d)
替换为:#

Perl 正则表达式搜索字符串使用a positive lookbehind and a positive lookahead查找插入#的位置。

Perl 正则表达式引擎也可以:

查找内容:[\t ]\K(?=\d)
替换为:#

与上面的相同,只是简单地搜索一个制表符或空格,并将$ 0的起始位置重置为空白字符之后的位置,而不是使用正向后视,然后再使用正向前瞻检查下一个字符是否为数字

相关问题