请原谅这个可能的问题,因为我对制定自己的规则相当陌生,而我想出的任何事情,我都是在过去的一个小时里这样做的。
我在“崇高文本3”中使用了一个巨大的文本文件,我尝试使用ST搜索和替换功能中的正则表达式来识别所有的2-4位序列,它们都是,没有任何其他字符包围。
这将识别以下序列:
01
330
0302忽略以下几点:
1
10405
3042-2
(3030
x5590在我的文档上下文中,不被任何其他字符包围的序列本质上意味着存在于它自己的行中。
换句话说,,如果一个2-4位的序列存在于它自己的行中,它需要被识别。如果不是,或者是<2或>5位数,则需要单独使用。。
到目前为止,我能想到的最好的方法是:
\b\n[0-9]{2,4}\n\b
...which能够很好地识别这些序列,但实际上似乎不允许我替换已识别的区域:单击“替换”或按下快捷方式Ctrl+Shift+H似乎只会突出显示序列,然后继续前进。如果这是我正在使用的正则表达式的问题,我还可以使用什么?
发布于 2017-02-11 03:46:51
我不太清楚你在问什么,但如果你想要在一条线上匹配2-4位数字,这应该可以做到。
^[0-9]{2,4}$行的^匹配开始,$匹配结束
如果您想要允许前导或尾随空格,可以这样做。
^[ ]*[0-9]{2,4}[ ]*$你想用什么取代文本?如果您想删除匹配的文本和整行,您可以这样做。
^[0-9]{2,4}$\n这将匹配整行,包括换行符。
或者,您可以用括号捕获匹配的文本。
^([0-9]{2,4})$做这样的替换
foo$1bar1美元是(.)中的任何东西。这会给你
foo01bar
foo330bar
foo0302bar
And ignore the following:
1
10405
3042-2
(3030
x5590https://stackoverflow.com/questions/42171755
复制相似问题