所以我使用的是使用正则表达式获取匹配的第三方应用程序。它会自动设置为仅匹配第一个匹配,因为它每页只查找一条信息。我无法更改此设置,除非我希望它找到所有匹配显示为我很少想要它的数组。最后一个条件不适用于我想要的比赛。
我想要找到的是ID代码。碰巧的是,所有ID都以10开头,然后是4个以上的数字
示例:
104230
所以我写了这个正则表达式
10[0-9]{4}
唯一的问题是标题中有一个名为10022008.js的.js文件,因为它会自动选择第一个匹配项,所有ID都设置为此。
如何让正则表达式忽略该字符串和该字符串?我所做的所有搜索只有类似的忽略类型代码没有工作
答案 0 :(得分:4)
在正则表达式的每一端添加“单词边界”正则表达式\b
:
\b10[0-9]{4}\b
单词边界在任何“单词”字符(即\w
,即[0-9a-zA-Z_]
)和任何非单词字符之间匹配,反之亦然,并且为零宽度,因此它赢得了' t为捕获添加任何字符。
答案 1 :(得分:1)
Lookahead是一种解决方案。可能不是最有效的,但我认为它是最具可读性的。
10\d{4}(?!08\.js)
这将匹配10后跟任意四位数字,前提是这些数字后面没有08.js
。
答案 2 :(得分:-1)
我不确定输入数据是什么样的,但是你可以将它限制在行的开头和结尾吗?
^10[0-9]{4}$