UltraEdit / Unix正则表达式。我想用名称+空格+数字将所有行替换为名称+#+数字
示例:将SANTIAGO 80,00替换为SANTIAGO#80,00,所有行将像这样
我可以在Unix表达式中找到想要搜索的内容:[^ t ^ b] [0-9]
答案 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的起始位置重置为空白字符之后的位置,而不是使用正向后视,然后再使用正向前瞻检查下一个字符是否为数字