0
我正在使用RegexKitLite,我試圖匹配一個模式。
以下正則表達式模式無法捕捉包含N的titlde字詞:ñ。 我錯過了字符串轉換嗎?如何將非ASCII字符與RegexKitLite匹配?
subjectString = @"define_añadir";
//regexString = @"^define_(.*)"; //this pattern does not match, so I assume to add the ñ
//regexString = @"^define_([.ñ]*)"; //tried this pattern first with a range
regexString = @"^define_((?:\\w|ñ)*)"; //tried second
NSString *captured= [subjectString stringByMatching:regexString capture:1L];
//I want captured == añadir
更正:我發佈的示例確實有效 - 我簡化了代碼以便於閱讀,但我可能有更多線索...... 我的源代碼文件.m是UTF8。我使用unix命令'file'進行檢查。這些字符串值實際上是從HTML文件中讀取的,這些文件也是UTF8。 我已經用NSLog打印出文件內容,以顯示「xn - define_aadir-hhb」,我期望將「define_añadir」從HTML讀入subjectString。在你提到艾倫的時候,我可以在哪裏檢查編譯器期望的編碼?另外,我發現的所有源文件都不是UTF8,有的是ASCII。可能這是一個問題? – ojreadmore 2009-12-09 18:20:06
ASCII是UTF-8的子集,因此每個ASCII文件也是一個UTF-8文件。至於其他,請參閱我的編輯。 – 2009-12-10 02:57:59