我想解析一個字符串,以這種格式++ VAR ++。我試過了preg_match_all(「++。*?++」,$ input,$ matches);我試過了preg_match_all(「++。*?++」,$ input,$ matches)。但失敗了。 我錯過了什麼?包括加號preg_match_all
1
A
回答
0
你錯過了逃避+,也忘了添加php分隔符。
preg_match_all('~\+\+.*?\+\+~', $input, $matches);
0
你的正則表達式缺少regex delimiters。此外,+
是一個特殊的正則表達式元字符(一個一個或多個量詞),它必須轉義爲被視爲字面字符。
如果你只有字母數字字符相匹配的內部雙人牀加號,您可以使用
preg_match_all('~(?<!\+)\+\+(\w+)\+\+(?!\+)~', $txt, $matches);
$re = '~(?<!\+)\+\+(\w+)\+\+(?!\+)~';
$str = "I have ++VAR++ and +++++++++++ and +++text+++++ and ++ANOTHER_VAR++.";
preg_match_all($re, $str, $matches);
print_r($matches);
相關問題
- 1. php preg_match_all括號
- 2. 使用preg_match_all嵌套括號
- 3. PHP preg_match_all括號中的數字
- 4. PHP:先匹配內部括號的preg_match_all?
- 5. 匹配所有方括號與preg_match_all`
- 6. 幫助preg_match_all,刪除方括號
- 7. preg_match_all括號內外的單詞
- 8. preg_match_all包括沒有一定的值
- 9. 包括加入型號系列化
- 10. Sequelize加入型號包括多對多
- 11. 只包含括號,加號和感嘆號的語言
- 12. 匹配方括號內的內容,包括嵌套方括號
- 13. 如何獲得preg_match_all以匹配尖括號?
- 14. 閏年布爾邏輯:包括括號?
- 15. 字符串匹配不包括括號
- 16. 球拍在-EXP包括花括號
- 17. URI提取包括尾隨方括號]
- 18. 使用preg_match_all中尋找模式,不包括配襯模式deliminator
- 19. 包,缺少右括號
- 20. 搜索包含括號
- 21. 不包括Sundaram篩號碼
- 22. 正則表達式在逗號分割,但不包括花括號,括號和圓括號內的那些
- 23. 從preg_match_all()獲取行號
- 24. 加入包括數
- 25. 問題分割字符串,包括括號,分號和空格
- 26. 如果在非括號內的foreach中包含括號內容
- 27. 如何獲取文本在方括號中包含方括號?
- 28. Ruby串包括?百分號包括? '%'(Rubymine調試器)
- 29. preg_match_all:包含非ASCII字符
- 30. 正則表達式返回方括號內的字符(但不包括括號)
它怎麼會失敗呢?當然,你錯過了正則表達式分隔符。你有沒有像'++++++++++'這樣的字符串,你不想匹配?試試['preg_match_all('〜(!<!\ +)\ + \ +(\ w +)\ + \ +(?!\ +)〜',$ txt,$ matches);'](https:// regex101的.com/R/xI3gM5/1)。見[demo](http://ideone.com/riy5mj)。 –
你檢查了答案嗎? –