谁能可能会帮助我了解为什么以下:正则表达式不一致使用括号
require(stringr)
x = "The quick brown fox jumps over the lazy dog"
str_detect(x, 'dog')
#> [1] TRUE
str_detect(x, '(?=dog)')
#> [1] TRUE
str_detect(x, '(?=quick)(?=dog)') # fails why?
#> [1] FALSE
str_detect(x, '(?=quick)(?=.*dog)')
#> [1] TRUE
像'(?= quick)'这样的前瞻物在紧挨着前瞻物的内容之前匹配。 '(?= quick)'匹配的点在它之后不会有'dog'。你想要你的正则表达式是什么意思? – Marius
你的第四个正则表达式就是你想要逻辑断言'dog'出现在'quick'之后的任何地方。 –
''(?= quick)(?=。* dog)''=''(?= quick。* dog)'' –