我的文本文件中有成千上万的行,我想知道是否有一种使用记事本(regex)的方式来查找和选择仅包含三个以上数字的行!
提前谢谢!
答案 0 :(得分:0)
如果数字是整数,并且可以有其他(非数字)字符分隔这些整数,则可以使用类似以下内容的行进行匹配:
^(?=(\D*\d+(\D+|$)){4,}).*$
说明:
^
匹配行的开头(?=
表示以下内容必须匹配(正向超前)
\D*\d+(\D+|$)
匹配任意数量的非数字,后跟您的数字,然后匹配一些非数字分隔符(或行的末尾,如果最后一个数字后面没有任何内容){4,}
至少匹配上述模式4次.*
会捕获整行,只要匹配上面的正向前行(即,有3个以上的数字)$
与行尾匹配如果数字可以为小数,则可以用\d+
之类的内容替换(\d+\.?\d*)
,以匹配3
,3.
,3.456
等:< / p>
^(?=(\D*(\d+\.?\d*)(\D+|$)){4,}).*$
例如
1.2 3.456 7 8.90
匹配12/34/56/78/90
匹配some 1 text 2 in 3 between 4 the 5 numbers
匹配1 2 3
不匹配