我有一个很长的清单,以下是其中的一部分:
English
4,000,000
AfricanAmerican
1,771,000
Irish
1,100,000
Dutch
800,000
German
700,000
Scotch-Irish
0-640,000
NativeAmerican
=0=500,000
Scottish
450,000
Russian
15,000
Austrian
5000
Finnish4000
Swiss
+4000
1820
现在我想在notepad++中使用正则表达式选择所有逗号分隔的数字和小于10000的数字
以下正则表达式适用于逗号分隔的数字,但它不能选择小于 10000 的数字:
\d{1,3},\d{3}
如何修改它以也选择小于10000的数字?
请注意,正则表达式也必须选择与单词组合的数字,例如
Finnish4000
您可以使用交替,并排除以零开头的 1-4 位数字。
为了防止部分匹配,您可以断言左侧和右侧没有数字。
(?<!\d)(?:\d{1,3}(?:,\d{3})+|(?!0)\d{1,4})(?!\d)
正则表达式匹配:
(?<!\d)
断言左边不是数字(?:
替代方案的非捕获组
\d{1,3}
匹配1-3位数字(?:,\d{3})+
重复 1+ 次 ,
和 3 位数字|
或者(?!0)\d{1,4}
负向前瞻,断言右侧不为零并匹配 1-4 位数字)
关闭非捕获组(?!\d)
断言右侧有一个数字查看 正则表达式演示