如何檢查ora 之后的第一個字符/是否為 a ??$str = 'some/text/?goes/here?/andhere?/?'到目前為止,我設法檢查了/:preg_match_all('/\/(?=\?)/', $str, $matches)這符合/?模式?,F在我如何使它也匹配?/?謝謝!
3 回答

MM們
TA貢獻1886條經驗 獲得超2個贊
如果您的 PHP 版本支持它,則有“lookbehinds”和lookaheads,如下所示:
preg_match_all('/(?<=\?)\/|\/(?=\?)/', $str, $matches)
(Lookbehind 可能已經在 PHP 中使用了很長時間,甚至可能從一開始。我感到有點不確定的唯一原因是這些天我的大部分工作都是在 JavaScript 中完成的,而現在的 JavaScript 仍然不支持 Lookbehind許多網絡瀏覽器。)

猛跑小豬
TA貢獻1858條經驗 獲得超8個贊
我想出了一個更清潔的解決方案:
(\W)(?=\W)
基本上這意味著:如果在特殊字符之后有任何特殊字符,則為真。
所以這一切都是真的: ?/
/?
?/?
警告:如果您只是在搜索特定的特殊字符,請不要使用它,因為此正則表達式會檢查緊隨其后具有任何特殊字符的任何特殊字符!
但就我而言,我不介意,我不希望任何特殊角色緊隨其后,/
所以它甚至比我想要的還要好。
- 3 回答
- 0 關注
- 343 瀏覽
添加回答
舉報
0/150
提交
取消