誰能可能會幫助我瞭解爲什麼以下:正則表達式不一致使用括號
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)'' –