-2
A
回答
0
您可以限制字母的数量在使用模式[a-zA-Z0-9]
一个字符串,并使用{8,13}
限制最小和最大事件。您也可以确保至少有一个数字做了数字(?=.*\\d)
和非数字(?=.*\\D)
积极前瞻的模式:
let regex = "^(?=.*\\d)(?=.*\\D)([a-zA-Z0-9]{8,13})$"
正则表达式的细节
^断言位置在字符串
开始(?=。* \ d)•匹配 数字的任何字符的正向前瞻
(?=。* \ d)•正先行任何字符匹配那一个 非数字
([A-ZA-Z0-9])•第一捕获匹配任何字母数字字符组
{8,13}的preciding令牌•范围发生(8〜13)
$断言在字符串
let string = "abcdefg1"
if let range = string.range(of: regex, options: .regularExpression) {
print(string[range]) // abcdefg1\n"
}
相关问题
- 1. 斯威夫特的正则表达式
- 2. 斯威夫特:允许特殊字符
- 3. 正则表达式强制字母数字,但允许撇号和连字符?
- 4. 正则表达式允许一个特殊字符(:)和数字和字母只
- 5. 只允许一个字母字符 - 正则表达式
- 6. 正则表达式允许字母数字,空格,一些特殊字符
- 7. 斯威夫特IOS正则表达式只允许阳性数字1和高达
- 8. 正则表达式属性,只允许字母数字字符
- 9. 正则表达式,允许字母数字和点
- 10. JavaScript的正则表达式,允许字母数字和点(。)
- 11. 正则表达式在C#允许数字和字母
- 12. 正则表达式只允许字母数字
- 13. 正则表达式只允许字母和数字
- 14. 正则表达式允许字母,数字和换行
- 15. 允许字母数字, - ,_和空格的正则表达式
- 16. 允许在字母数字的正则表达式中使用*
- 17. 正则表达式,允许字母数字
- 18. 斯威夫特正则表达式匹配统一码
- 19. 强制斯威夫特
- 20. 正则表达式,仅允许数字
- 21. 正则表达式允许开始字母,然后是数字或字母
- 22. 只允许某些非字母字符在正则表达式
- 23. 只允许首字母大写字符串(正则表达式)
- 24. 正则表达式只允许字母,数字和至少两个字符
- 25. 正则表达式只允许字母,单个空格和“ - ”
- 26. 正则表达式字母数字字符串+特殊字母
- 27. 我需要正则表达式只允许字母,数字和空格,但不允许特殊字符
- 28. 的javascript:使用正则表达式来允许字母,数字和空格(至少一个字母和数字)
- 29. 正则表达式:允许使用字母,数字和空格(至少包含一个字母而非数字)
- 30. 正则表达式限制特殊字符,只允许DOT和&
欢迎堆栈溢出的结束位置!您可以先[参观](http://stackoverflow.com/tour)并学习[如何提出一个好问题](http://stackoverflow.com/help/how-to-ask)并创建一个[最小,完整和可验证](http://stackoverflow.com/help/mcve)示例(最好是Playground代码段)。 – muescha
如果您要提供一些示例(您要搜索的字符串以及要查找的模式类型),它可以帮助人们为您提供更准确的答案。现在的问题是,我会问“强制性号码必须处于特定位置”还是“允许多少个字母数字”?所以需要更多信息。 – Fahim