試圖理解消極的前瞻或積極的。基本上我想匹配不在捕獲組 [a-zA-Z] 和文字字串“b4g”中的所有內容。因此,如果它在字串中,我將只剩下 az 和 b4g 文字。
給定:$100b4gb$2000
它將匹配 $100$200
我會做一個正則運算式替換所有匹配項,所以它們將被替換為''. 就像是
preg_replace('/(?!.*b4g)[^a-zA-Z] /', '', $subject);
我已經嘗試過了,但無法讓它作業
匹配所有內容,但從“b4g”中洗掉 4
[^a-zA-Z]
也無法讓這個前瞻作業
(?!.*b4g)[^a-zA-Z]
uj5u.com熱心網友回復:
您可以使用
preg_replace('~b4g(*SKIP)(*F)|[^a-zA-Z]~', '', $text)
請參閱正則運算式演示。詳情:
b4g(*SKIP)(*F)- 匹配一個b4g子串并從匹配中省略,下一次搜索從失敗位置開始|- 或者[^a-zA-Z]- ASCII 字母以外的任何字符。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/460139.html
