Swift 5如何校验字符串是否与指定正则格式完全匹配
正则完全匹配校验修正方案
核心问题原因
- 你当前使用的正则未添加
^(字符串开头)和$(字符串结尾)锚点,默认只要字符串中存在符合规则的子串就会判定匹配,无法校验整个字符串是否完全符合格式 - 正则表达式中
(、)是表示分组的元字符,不会匹配字面量的小括号字符,必须转义后才能匹配实际的括号
修正后代码
let stringToCheck = "[5,5]" // 正则添加首尾锚点+转义括号,实现完全匹配校验 let validPattern = "^\\([0-9],[0-9]\\)$" return stringToCheck.range(of: validPattern, options: .regularExpression) != nil
补充说明
如果需要支持多位数字的合法格式(例如(12,34)),可以将正则调整为^\\([0-9]+,[0-9]+\\)$即可。
内容的提问来源于stack exchange,提问作者Liam
相关产品推荐
相关产品推荐

