搜索regex,其中保留长度为10-13位的所有数字,并在记事本++中删除其余数字
我的正则表达式不起作用 [^ \ d {10,13}]
它也用逗号查找数字:(
答案 0 :(得分:1)
要匹配不正好3位数的数字:
\b(\d{1,9}|\d{14,})\b
答案 1 :(得分:1)
搜索
^(?:.*?(\d{10,13}).*|.*)$
并替换为
\1
你只保留10到13位数字(和空行)。
删除搜索
的空行^\n
并替换为空。
查看实际操作:RegEx101。
解决@WiktorStribiżew的评论:依赖于被追踪的数字总是被白色空间包围(已经用OP检查过 - 但不是针对潜在的情况,线条(有效地)仅包含数字)搜索表达式可能是调整为
^(?:.*\s(\d{10,13})\s.*|.*)$
仍然替换为
\1
正确处理包含数字字符串的逗号:RegEx101
顺便说一下:
[^\d{10,13}]
是一个字符类,匹配任何内容,不:
请评论是否需要调整/进一步详细说明。
答案 2 :(得分:1)
你可以找到这样的所有10-13长度独立数字
(?<!\d)\d{10,13}(?!\d)
您所做的事由您决定。
答案 3 :(得分:0)
我不知道记事本是如何工作的,但我认为这是你正在寻找的正则表达式:^([0-9]){10,13} $
创建/测试正则表达式的好页面:http://regexr.com/