NSRegularExpression正则表达式替换希腊语Unicode文本

时间:2015-07-07 22:22:33

标签: regex swift

我有一个HTML字符串,我在UIWebView中显示。还有一些希腊文字,Unicode范围U + 0370-U + 03FF,我希望通过封装在一个范围内以不同的字体显示。我可以搜索\ p {script = Greek}:

let regex = NSRegularExpression(pattern: "(\\p{script=Greek})", options:nil, error: nil)
let newString = regex!.stringByReplacingMatchesInString(entryText, options: nil, range: NSMakeRange(0, count(entryText)), withTemplate: "<span class=\"gr\">$1</span>")

但这取代了每个角色。我无法弄清楚如何使用\ x ...或\ u。

指定范围

1 个答案:

答案 0 :(得分:1)

正则表达式量词+表示“匹配前面一个或多个元素”,可以在您的情况下使用:(\\p{script=Greek}+)。它是贪婪的,这意味着它将导致单个匹配包含尽可能多的字符,在您的情况下是所有连续的希腊字符。