为什么关注返回["vddv"]
而不是[“dd”]:
"aaavddv".match(/(?:v).*(?:v)/)
答案 0 :(得分:4)
(?:v) # matches 'v' this is a non-capturing group, not a lookbehind
.* # matches 'dd'
(?:v) # matches 'v' this is a non-capturing group, not a lookahead
非捕获组仍然参与比赛。也许你想要前瞻/落后?但是Javascript不支持lookbehind。
答案 1 :(得分:3)
"aaavddv".match(/(?:v)(.*)(?:v)/)[1]
整个匹配正确vddv
但如果您只想匹配dd
,则需要使用捕获组(并查看元素[1]
)
答案 2 :(得分:3)
/(?:v).*(?:v)/
指定表达式v(字符数)v