我定义了一个字符串:
static let Regex_studio_tel = "^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$"
Run Code Online (Sandbox Code Playgroud)
但是出现了一个问题:
文字中的转义序列无效
图片我的标记:
编辑-1
我的要求是匹配特殊的平面号使用正则表达式,例如:
我公司有一个特殊的飞机号码:
028-65636688 or 85317778-8007
Run Code Online (Sandbox Code Playgroud)
// aaa-bbbbbbbb-ccc我们知道这aaa是前缀,它表示城市拨号代码,bbbbbbbb是主要的电话号码,cccc是固定电话的分机号码,
比如我公司的座机电话028-65636688,也许我们公司有10个分机号码:028-65636688-8007 ,028-65636688-8006,028-65636688-8005等等.当然,它最后可能有一个分号.
028-65636688-2559
Run Code Online (Sandbox Code Playgroud)
OOP*_*Per 20
两个字符序列\ -不是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})?$"
Run Code Online (Sandbox Code Playgroud)
加成
正如Rob评论的那样,减号在出现在外面时不是正则表达式中的特殊字符[ ],所以你可以把它写成:
static let Regex_studio_tel = "^(0[0-9]{2,3}-)?([2-9][0-9]{6,7})+(-[0-9]{1,4})?$"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12424 次 |
| 最近记录: |