[英]RegEx pattern to match a string between two characters, but exclude the characters
大家問候,
我還有另一個RegEx問題。 我已經進行了數小時的搜索,但顯然我錯過了我需要的一篇關鍵文章。
我需要在PHP中使用preg_match()來匹配括號之間的字符串,但結果中沒有括號。 我已經看到了類似問題的示例,但是我相信我的問題有所不同,因為它實際上是我要處理的括號,它是RegEx中的一個元字符。 有什么好處嗎?
無論如何...
字符串是:
"200 result=1 (SIP/100-00000033)"
當前代碼是:
preg_match("/\((.*)\)/s", $res, $matches);
$ matches [0]變為:
"(SIP/100-00000033)"
我想要的是:
"SIP/100-00000033"
我很抱歉,因為我敢肯定這很簡單,但我沒有把握。 有人願意教育我嗎?
先感謝您!!
嗯,所有這些都指的是在正則表達式中對項目進行分組的方式。 您的解決方案實際上是正確的,只是您使用了錯誤的匹配索引。 嘗試:
$matches[1]
如果那以某種方式給您帶來了錯誤,請在發布后再解決。
如果您確實希望完全匹配排除括號,則可以使用先行和后行斷言 :
preg_match('/(?<=\().*(?=\))/s', $res, $matches);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.