首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找没有其他字符包围的数字序列的ST3正则表达式

查找没有其他字符包围的数字序列的ST3正则表达式
EN

Stack Overflow用户
提问于 2017-02-11 03:10:58
回答 1查看 209关注 0票数 0

请原谅这个可能的问题,因为我对制定自己的规则相当陌生,而我想出的任何事情,我都是在过去的一个小时里这样做的。

我在“崇高文本3”中使用了一个巨大的文本文件,我尝试使用ST搜索和替换功能中的正则表达式来识别所有的2-4位序列,它们都是,没有任何其他字符包围。

这将识别以下序列:

代码语言:javascript
复制
01
330
0302

忽略以下几点:

代码语言:javascript
复制
1
10405
3042-2
(3030
x5590

在我的文档上下文中,不被任何其他字符包围的序列本质上意味着存在于它自己的行中。

换句话说,,如果一个2-4位的序列存在于它自己的行中,它需要被识别。如果不是,或者是<2或>5位数,则需要单独使用。

到目前为止,我能想到的最好的方法是:

\b\n[0-9]{2,4}\n\b

...which能够很好地识别这些序列,但实际上似乎不允许我替换已识别的区域:单击“替换”或按下快捷方式Ctrl+Shift+H似乎只会突出显示序列,然后继续前进。如果这是我正在使用的正则表达式的问题,我还可以使用什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-11 03:46:51

我不太清楚你在问什么,但如果你想要在一条线上匹配2-4位数字,这应该可以做到。

代码语言:javascript
复制
^[0-9]{2,4}$

行的^匹配开始,$匹配结束

如果您想要允许前导或尾随空格,可以这样做。

代码语言:javascript
复制
^[ ]*[0-9]{2,4}[ ]*$

你想用什么取代文本?如果您想删除匹配的文本和整行,您可以这样做。

代码语言:javascript
复制
^[0-9]{2,4}$\n

这将匹配整行,包括换行符。

或者,您可以用括号捕获匹配的文本。

代码语言:javascript
复制
^([0-9]{2,4})$

做这样的替换

代码语言:javascript
复制
foo$1bar

1美元是(.)中的任何东西。这会给你

代码语言:javascript
复制
foo01bar
foo330bar
foo0302bar

And ignore the following:

1
10405
3042-2
(3030
x5590
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42171755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档