我厭倦了被正則表達式嚇倒。這篇文章的主題僅限於正則表達式的PHP實現,但是,任何泛型正則表達式的建議顯然都將被讚賞(即,不要將我與範圍不適用於PHP)混爲一談。瞭解正則表達式
以下(我相信)將刪除數字之間的任何空格。也許有更好的方式去做,但我仍然想知道發生了什麼。
$pat="/\b(\d+)\s+(?=\d+\b)/";
$sub="123 345";
$string=preg_replace($pat, "$1", $sub);
穿過圖案化去,我的解釋是:
\b
詞邊界\d+
的1個或多個數字\s+
一個或多個空格子模式(?=\d+\b)
前瞻斷言一個或多個數字後跟一個字邊界?- 把它放在一起,搜索任何字邊界後跟一個或多個數字,然後搜索一些空格,然後對其執行某種預測聲明,並將結果保存在$ 1中,以便它可以替換該模式?
問題:
- 是我上面的解釋是否正確?
- 那是什麼樣的前瞻斷言?
- 領先的
/
和尾隨/
的目的是什麼?
參考和教程:http://regular-expressions.info – deceze
*另請參閱[開源RegexBuddy替代品](http://stackoverflow.com/questions/89718/is-there)和[在線正則表達式測試] (http://stackoverflow.com/questions/32282/regex-testing)提供了一些有用的工具,或者是[mentExp.info](http://regular-expressions.info/)。 – mario
謝謝。現在就查看欺騙者的建議。會看看其他人。 – user1032531