5
有一段時間我回答了this question,但我仍然沒有弄清楚爲什麼我的答案奏效。爲什麼(?!^)等於(?<!^)?
由於某種原因,字符串開始的負向前視表現與負向後視相同。
例如,在PHP
preg_replace("/(?!^)12/", "ab", "12345"); // 12345
preg_replace("/(?<!^)12/", "ab", "12345"); // 12345
preg_replace("/(?!1)23/", "ab", "12345"); // 1ab45
preg_replace("/(?<!1)23/", "ab", "12345"); // 12345
我知道這是不是問過的最有用的問題,但是這已經我困擾了幾個星期。
謝謝,這種說法很有道理,但我想我需要休息一晚讓它沉入水中。 –