我在我的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åçêëèïîìæôöòûùÿáíóúñ]+)*$"
默认情况下,直引号将替换为卷曲引号。