3
A
回答
1
.
不是一個單詞字符。 \b
正在檢查字邊界,即字和字符之間的界限不被認爲是字的一部分。因此,您不能指望.
位於「單詞」1.
之內,因爲這兩個字符不構成單詞。
Quick reference document描述\b
爲:
匹配必須在\ W(字母數字)和\ W(非數字字母)之間的邊界上發生。
而且\w
被描述爲:
匹配所有文字字符。
如果檢查Word character是什麼,你會發現它包含的Unicode類的L1 [字母,小寫]; Lu [Letter,Uppercase]; Lt [Letter,Titlecase]; Lo [Letter,Other]; Lm [Letter,Modifier]; Mn [Mark,Nonspacing]; Nd [Number,Decimal Digit] and Pc [標點,連接器]。
但.
有Unicode類寶[標點符號,其他]它不在上面列出。
因此,如果您希望\b
匹配1.
中的單詞邊界,它正好在1
和.
之間。這回答你的問題爲什麼。
注:。NET正則表達式應該優先在專用於他們的測試站點上測試,例如Regex Storm。如果你使用PCRE正則表達式來測試你的正則表達式(就像你在鏈接的網站上一樣),你可以從.NET獲得不同的結果。
相關問題
- 1. 爲什麼這個正則表達式不匹配?
- 2. 爲什麼這個正則表達式不匹配HTML標籤?
- 3. 爲什麼在perl中這個正則表達式不匹配
- 4. 爲什麼在.htaccess中這個正則表達式不匹配?
- 5. 爲什麼這個正則表達式在Puppet中不匹配?
- 6. 爲什麼這個正則表達式不匹配這個字符串?
- 7. 爲什麼這個ruby正則表達式不匹配這個字符串?
- 8. 爲什麼這個Rails的正則表達式匹配這個字符串?
- 9. 爲什麼這個正則表達式無法匹配?
- 10. 爲什麼這個正則表達式匹配?
- 11. 爲什麼正則表達式匹配這個文本?
- 12. 爲什麼這個正則表達式匹配?
- 13. 爲什麼在這個正則表達式中匹配空行?
- 14. 爲什麼這個正則表達式匹配?
- 15. 這個正則表達式匹配什麼/什麼時候?
- 16. 爲什麼這個字符串不匹配我的正則表達式?
- 17. 爲什麼這個Java正則表達式不匹配我的字符串?
- 18. 帶有單詞邊界的正則表達式不匹配
- 19. 正則表達式字邊界(\ B)匹配和空白
- 20. 爲什麼沒有邊界匹配器「行首」的正則表達式不匹配?
- 21. 爲什麼這個正則表達式有3個匹配,而不是5個?
- 22. '\ $'正則表達式匹配什麼?
- 23. 正則表達式 - 匹配外來字符的正則表達式是什麼?
- 24. 正則表達式的字邊界
- 25. 什麼導致這個正則表達式匹配一切?
- 26. 這個正則表達式匹配URL有什麼問題?
- 27. 這個正則表達式匹配什麼?
- 28. 這個`/^.*$/`正則表達式匹配了什麼?
- 29. 正則表達式邊界
- 30. 與javascript中的正則表達式匹配的hashtag邊界
爲什麼你需要'\ b'並不是很清楚 - 只需'1 \ .'就可以返回所需的完全匹配。 – Filburt
我不想匹配'1.2'' –
'.'和'[]'(句號後的空格)之間的邊界不是一個單詞邊界,所以您指定的正則表達式行爲正確。 – silkfire