ios - 正则表达式中应该转义什么字符

标签 ios regex swift escaping

我一直在尝试使用以下正则表达式。

^(?=.{8,16}$)(([a-zA-Z0-9])\\2?(?!\\2))(?=(.*[a-zA-Z]){1,})(?=(.*[\\d]){1,})|(?=(.*[\\W])(?=(.*[[]{}()<>.,;:\'\")){1,}])(?!.*\\s).{8,16}$

但我收到 NSInternalInconsistencyException 错误。

reason: 'Can't do regex matching, reason: Can't open pattern U_REGEX_MISSING_CLOSE_BRACKET (string aa, pattern ^(?=.{8,16}$)(([a-zA-Z0-9])\2?(?!\2))(?=(.[a-zA-Z]){1,})(?=(.[\d]){1,})|(?=(.[\W])(?=(.[[]{}()<>.,;:'")){1,}])(?!.*\s).{8,16}$, case 0, canon 0)'

我相信这是因为我没有正确转义它。应该转义的字符是什么?

最佳答案

您在前瞻组中使用定量 {1,},这是不可能的。

关于ios - 正则表达式中应该转义什么字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39834052/

相关文章:

ios - OCMock 仅针对后代类的部分模拟

ios - 当 ViewController 上的输入无效时,如何禁用导航栏按钮?

ios - 在 El Capitan 上安装 Xcode 8 beta 2 时扩展 Xcode

javascript - 通过将 replace() 与合适的正则表达式一起应用,避免将 '-' 作为用户输入

ios - NSAttributedString 中字距调整的不一致行为

ios - 每天以快速语法更新

swift - 检查表格行在 Apple Watch 应用上是否可见

ios - 简化字典(xcode 永远保持索引)

regex - 使用每个文件中的特定字符串重命名目录中的多个文件

java - 在每个第 n 个位置拆分一个字符串