我的問題是在所有情況下,我可以使用(?= ...)|(?<= ...)而不是獨立的(?= ...)或(?<= ...)嗎?
我可以在任何情況下使用lookahead|lookbehind
,而不是獨立的lookahead
或lookbehind
?
我只是覺得
(?=...)|(?<=...)
類似於\b
在我們的任期並不需要告訴我們要使用向左或向右字邊界(或向後看或提前),但只是想說「其中任何一個」。
從這個問題What's the difference between \b and \>, \< in regex?:
我們將看到,我們可以使用的\<
和\>
而對於(?=...)|(?<=...)
\b
相反,我不知道它是安全的還是不說,我們可以用(?=...)|(?<=...)
而不是獨立的(?=...)
或(?<=...)
在所有情況下。
如果您有任何示例,(?=...)|(?<=...)
不能使用而不是(?=...)
或(?<=...)
請告訴我。
是的,這就是爲什麼我們在'regex'中不需要'&'(邏輯運算符)的原因,因爲在'regex'的同一行上對齊的所有文本或命令實際上已經與'&'連接。對? – fronthem 2015-01-09 21:48:53
@ terces907 - 邏輯幾乎相同,適用範圍界定。區別在於量詞可以使引擎回溯到不同的控制路徑。 – sln 2015-01-09 21:52:34