简而言之,该页面包含大约 10 个 div,每个包含字母和数字,我试图返回所有出现的恰好 7 位数字,但前后可以有其他非数字字符。
例如。
“q1234567”应该返回 1234567
“q1234567q”应该返回 1234567
“q1234567q1234567q12345678q”应该返回 1234567 和 1234567
不应返回“12345678”
更具体地说,一个完整字符串的例子:
q1234567q
q1234567q
q12345678q
q1234567q123456789q123456q1324567q1234567
1234567
1
12
123
1234
12345
q12345q
q1234
12345q
123
我尝试通过正则表达式做到这一点,并得到了
/\d{7}(?=\D|$)/g
但 JavaScript 不能很好地处理 lookbehind。我如何在不涉及全新库的情况下解决这个问题?
最佳答案
这个正则表达式应该可以工作:
/^\D*\d{7}\D*$/
在线演示:http://regex101.com/r/nE5eI6
更新:根据以下经过编辑的问题和评论,您可以使用此正则表达式:
(?:^|\D)(\d{7})(?=\D|$)
并使用匹配组 #1 作为您的输出。
演示:http://regex101.com/r/wL4oW1
关于javascript - 使用正则表达式只检索 7 位数字的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21787603/