[英]how do I properly escape this regex string in swift to create a NSRegularExpression object?
谷歌地图 API 说要使用这个正则表达式来查找有效的谷歌地图链接,我似乎无法用这个字符串创建一个正则表达式 object 而不抛出错误,我尝试删除反斜杠,但它仍然返回无效
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
例如
do {
let regex = try NSRegularExpression(pattern: "(http(s?)://)?((maps.google.{TLD}/)|((www.)?google.{TLD}/maps/)|(goo.gl/maps/)).*")
} catch {
print(error)
}
反斜杠至关重要。 没有反斜杠的句点表示任何字符。 您必须分别添加第二个反斜杠,但有一个方便的语法:
将文字字符串包裹在#
: ( #"... "#
)
do {
let regex = try NSRegularExpression(pattern: #"(http(s?)://)?((maps\.google\.{TLD}/)|((www\.)?google\.{TLD}/maps/)|(goo.gl/maps/)).*"#)
} catch {
print(error)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.