我在PHP中使用了正則表達式/^[A-Za-z0-9-_\s]*$/
,它允許使用數字,字母,空格,連字符和下劃線。我想顯示那些對正則表達式無效的比賽,例如「我的名字是布拉比!!!」應該給我「!!!」輸出。PHP查找不在正則表達式中的詞
回答
使用插入符號符號的字符類裏面反轉匹配並刪除啓動(^
)和結束($
)字符:
/[^A-Za-z0-9-_\s]+/
http://php-regex.blogspot.com/2008/01/how-to-negate-character-class.html
你想擺脫那些錨,並將'*'改成'+'。 OP正試圖從字符串中抽取匹配,而不是匹配整個事情。 – 2010-07-21 14:11:06
@Alan:是的,開始和結束的錨點都消失了。感謝編輯提示'+'上的提示。 – 2010-07-21 15:01:27
如果更換所有與比賽空串然後你會得到不匹配的部分:
preg_replace('/[A-Za-z0-9-_\s]+/', '', $string)
這將工作對於任何任意的正則表達式,但對於你的具體正則表達式@安迪的解決方案更簡單。
請注意,我刪除了錨點^
和$
以完成此項工作。
您應該將'*'改爲'+'。否則,你會浪費很多時間用什麼都不換。 ;) – 2010-07-21 14:06:15
preg_replace("/^[A-Za-z0-9-_\s]*$/","","My Name is Blahblah!!!") // Output: "!!!"
或者,如果你想他們的所有分組
preg_split("/^[A-Za-z0-9-_\s]*$/","","My Name is Blahblah!!!")
你必須把hiphen - 在開始時或在字符類的末尾或逃避它,所以你的正則表達式是:
/[^-A-Za-z0-9_\s]+/
或
/[^A-Za-z0-9_\s-]+/
或
/[^A-Za-z0-9\-_\s]+/
- 1. 正則表達式查找不在PHP
- 2. 正則表達式在php中查找word中的單詞
- 3. 查找單詞的正則表達式
- 4. Php使用正則表達式在文本中查找單詞
- 5. 正則表達式在PHP查找單詞
- 6. 用php正則表達式查找包含單詞的整行
- 7. PHP的正則表達式查找單詞串
- 8. PHP正則表達式查找所有大寫的串詞
- 9. 正則表達式查找和PHP
- 10. 正則表達式:查找與PHP
- 11. 通過正則表達式標準查找幾個單詞php
- 12. 在PHP中尋找正則表達式
- 13. 正則表達式查找
- 14. 查找正則表達式
- 15. 查找正則表達式
- 16. 正則表達式來查找不同順序的單詞
- 17. 正則表達式在單詞中查找跳過字母
- 18. Notepad ++正則表達式在文檔中查找多個單詞?
- 19. PHP的正則表達式匹配詞
- 20. 在java中查找正則表達式
- 21. 正則表達式尋找單詞
- 22. 正則表達式找到一個詞
- 23. Python正則表達式查找單詞與其他詞分開
- 24. Mysql的正則表達式查找這兩個詞語在文
- 25. 查找所有單詞,而不使用正則表達式
- 26. 查找帶正則表達式不正常的字符串中的詞
- 27. 我找不到正則表達式的正則表達式
- 28. 在正則表達式中查找兩個單詞之間的詞
- 29. PHP:在html元素中查找類的正則表達式
- 30. 正則表達式,在字符串中查找表達式。
@ jason4:你需要有這個問題的任何進一步的幫助? :-) – 2010-09-02 16:56:41
感謝Andy E,胡蘿蔔總是適合我:) – Maximus 2010-09-17 23:15:03