1
A
回答
2
爲什麼你的正則表達式匹配Ve
,而不是原因Vé
是因爲there are two ways to represent an é
in Unicode:
- 使用歸一化的s單點代碼點
U+00E9
或 - 使用「分解」形式:
e
,後面跟着組合標記´
(U+0065 U+0301
)。請注意後者是而不是實際的「獨立」´
字符(U+00B4
)。
您的字符串顯然是使用第二個選項編碼的。因此[A-z]
只與組合字符的前半部分相匹配。由於以下´
不匹配,正則表達式在此處停止。在對其應用正則表達式之前,您應該對字符串進行規範化。
此外,使用[A-Za-z]
而不是[A-z]
。否則,一些非字母字符如^
或]
也將被匹配。
+0
不,我沒有測試,我只是在錯誤的情況下,我會刪除我的答案。 – Dair
+0
現在,我完全理解你在閱讀後http://nshipster.com/cfstringtransform/ .Thx –
相關問題
- 1. NSRegularExpression與錯誤
- 2. 提取物值與NSRegularExpression
- 3. 捕獲組不能與NSRegularExpression
- 4. 如何用opencart版本2.2.0.0取代英格蘭國旗與法國國旗
- 5. 與法國文化
- 6. NSRegularExpression ISSUE
- 7. NSRegularExpression(iOS)
- 8. 法國日期格式
- 9. 無法創建,因爲「無法創建(元類型)逃脫NSRegularExpression」的NSRegularExpression
- 10. ERR_ICAP_FAILURE與橙法國的ASIHTTPReqeust
- 11. 如何匹配文本[...]與NSRegularExpression
- 12. 如何配置NSRegularExpression與ECMA-262兼容
- 13. 風格屬性轉換小數在法國符號
- 14. NSRegularExpression在Objective-C
- 15. NSRegularExpression不工作
- 16. NSregularExpression和密碼
- 17. NSPredicate和NSRegularExpression
- 18. 非貪心NSRegularExpression
- 19. static NSRegularExpression always nil
- 20. 倍數NSRegularExpression
- 21. NSRegularExpression幫助
- 22. NSRegularexpression multiline and stack
- 23. 解析HTML NSRegularExpression
- 24. 「\ P {Letter}」和NSRegularExpression
- 25. NSRegularExpression內存豬
- 26. NSRegularExpression replace RegExkitLite
- 27. ios NSRegularExpression麻煩
- 28. NSRegularExpression不匹配
- 29. NSRegularExpression不匹配
- 30. 升級訪問SQL英國與美國的日期格式
您在詢問之前是否搜索答案? 「當指定一系列字符時,例如[a-Z](即小寫a到大寫z),計算機的區域設置將通過字符編碼的數字排序來確定內容。」 - https://en.wikipedia.org/wiki/Regular_expression#Character_classes – Onots
@Onots:NSRegularExpression並非如此。你所引用的是POSIX正則表達式的行爲,這在這裏不適用。 – nhahtdh
@nhahtdh:謝謝你指出。所以我今天搜索了一些東西:NSRegularExpression使用ICU指定的模式語法。從ICU站點:「[A-M] \t範圍 - 匹配從A到M中的任何字符。要包含的字符由Unicode代碼點排序確定」。 – Onots