我想使用的preg_match和正則表達式在PHP檢查字符串或者用「+44」開頭或「0」,但我怎麼能做到這一點,而不+讀爲匹配前面的字符有一次或多次?會(+44 | 0)工作嗎?+符號的正則表達式PHP
1
A
回答
2
你可以做到這一點的幾種方法。在那些我知道二:
一種是逃避+
與轉義字符
^(\+44|0)
或將+
字符類[]
它意味着字符作爲它的字面意思內(即反斜槓)。
^([+]44|0)
^
是錨字符,這意味着基於您的標誌(修正)的串/行的開始。
3
反斜槓是正則表達式的默認轉義字符。如果在PHP字符串中使用了反斜槓,那麼您可能必須避免使用反斜槓,所以您可以使用類似"(\\+44|0)"
這樣的字符串常量。正則表達式本身將是(\+44|0)
。
4
使用與^來表示開始和一個反斜槓\逃脫+字符。所以你檢查
^\+44 | ^0
在PHP中的正則表達式存儲在一個字符串,你並不需要雙反斜線\混淆的東西,只是用單引號代替,如:
$regexp = '^\+44 | ^0';
事實上,你甚至不需要使用任何東西,這個工程太:
$regexp = "^\+44 | ^0";
+1
正如我將增加更多的到格局,很擔心,除非有括號也不會分開吧,我決定去與\\的方法,但感謝你教我這個太:) – RJE95
+0
你的歡迎。 –
相關問題
- 1. 正則表達式中的#符號php
- 2. ASP.Net正則表達式(%符號)正則表達式驗證器
- 3. 括號內的PHP正則表達式
- 4. PHP單引號的正則表達式
- 5. 正則表達式表情符號
- 6. JavaScript正則表達式表情符號
- 7. @符號的正則表達式匹配
- 8. 正則表達式的歐元符號(€)
- 9. 「沒有符號」的正則表達式
- 10. 替換符號的正則表達式
- 11. php正則表達式的任何字符符號
- 12. PHP preg_replace破折號正則表達式
- 13. 正則表達式得到括號PHP
- 14. PHP正則表達式question..adding逗號
- 15. PHP正則表達式:從括號內
- 16. PHP正則表達式處理括號
- 17. PHP正則表達式&號問題
- 18. PHP - 正則表達式,替換逗號分隔符,以分號
- 19. PHP - 正則表達式匹配其他正則表達式中的大括號
- 20. 正則表達式「符號不工作
- 21. 正則表達式匹配符號& - 。 「
- 22. Java正則表達式@符號
- 23. :符號在正則表達式
- 24. 正則表達式不匹配```符號
- 25. 正則表達式:符號組缺少
- 26. 正則表達式以@符號開頭
- 27. 正則表達式和重音符號
- 28. 正則表達式不檢測符號
- 29. 正則表達式Java(標點符號)
- 30. Java正則表達式忽略'。'符號
使用反斜線進行轉義。 '(\ +44 | 0)' – Pietu1998
實際上是雙反斜槓。 PHP本身不知道,知道的正則表達式語法,所以你必須把它作爲一個字符串,其中正則表達式中的反斜槓需要再次逃脫。 – Wormbo
[**相關... **](http://stackoverflow.com/questions/399078/what-special-characters-must-be-escaped-in-regular-expressions) – HamZa