This question already has an answer here:
Ignore escaped double quote characters swift
(1个答案)
4年前关闭。
我定义一个字符串:
但是有一个问题:
我标记的图片:
编辑-1
我的要求是使用Regex匹配特殊的飞机号,例如:
我公司有专机号码:
//
例如我公司的座机电话是
当然,它可能在末尾有一个分机号。
添加
正如Rob所评论的那样,减号不是出现在
(1个答案)
4年前关闭。
我定义一个字符串:
static let Regex_studio_tel = "^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$"
但是有一个问题:
我标记的图片:
编辑-1
我的要求是使用Regex匹配特殊的飞机号,例如:
我公司有专机号码:
028-65636688 or 85317778-8007
//
aaa-bbbbbbbb-ccc
,我们知道aaa
是前缀,它表示城市拨号代码,bbbbbbbb
是主电话号码,cccc
是座机电话的分机号,例如我公司的座机电话是
028-65636688
,也许我们公司有10个分机号码:028-65636688-8007 ,028-65636688-8006,028-65636688-8005
等。当然,它可能在末尾有一个分机号。
028-65636688-2559
最佳答案
两个字符序列\
-
在Swift String中不是有效的转义序列。当您需要将\
-
作为模式传递给NSRegularExpression
时,您需要使用Swift String文字编写\\-
。
因此,您的行应如下所示:
static let Regex_studio_tel = "^(0[0-9]{2,3}\\-)?([2-9][0-9]{6,7})+(\\-[0-9]{1,4})?$"
添加
正如Rob所评论的那样,减号不是出现在
[
]
之外的正则表达式中的特殊字符,因此您可以将其编写为:static let Regex_studio_tel = "^(0[0-9]{2,3}-)?([2-9][0-9]{6,7})+(-[0-9]{1,4})?$"
08-06 05:28