Swift中的Regex给出了不同的结果



我在我的Swift,中使用这个正则表达式

let regex = try! NSRegularExpression(pattern: "^[a-zA-Zåçêëèïîìæôöòûùÿáíóúñ]+(?:[-' ][a-zA-Zåçêëèïîìæôöòûùÿáíóúñ]+)*$")
let range = NSRange(location: 0, length: newValue.utf16.count)

if regex.firstMatch(in: value, options: [], range: range) == nil {
print("Not passed")
} { 
print("Passed") 
}

但它给出的结果与网站不同https://regex101.com/r/EXWsK1/2,我在这里做错了什么?

在我的swift代码中,它应该像网站上的例子一样接受使徒角色,如Le'brahm、O'Niel等,但它没有。

您需要将卷曲的单引号‘’添加到模式中:

pattern: "^[a-zA-Zåçêëèïîìæôöòûùÿáíóúñ]+(?:[-'‘’ ][a-zA-Zåçêëèïîìæôöòûùÿáíóúñ]+)*$"

默认情况下,直引号将替换为卷曲引号。

相关内容

  • 没有找到相关文章

最新更新