gpt4 book ai didi

ios - 具有特殊字符的 Swift 正则表达式

转载 作者:搜寻专家 更新时间:2023-11-01 05:46:52 27 4
gpt4 key购买 nike

我正在尝试使用这个字符串:

var passwordRegex = "^[A-Za-z0-9 !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~].{8,}$"

作为我的正则表达式模式,但它一直失败说模式无效。我使用 \ 字符对字符进行转义:"\,但它会抛出错误:invalid escape sequence in literal 用于正则表达式关键字符,如 ^ & [ ] | .

为了允许字符,我缺少什么:

 ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~   

(包括空格)在我的正则表达式中?我认为这与我的转义方式有关,但我找不到任何关于 SWIFT 正则表达式的字符。

最佳答案

问题在于字符 [\] 需要转义,因为它们在正则表达式中具有特殊含义。

因此您需要在正则表达式中使用\[\\\]。但由于这是在 Swift 字符串中,每个 \ 都需要使用 \ 进行转义。

所以 [\] 在正则表达式中变成 \[\\\] 变成 \\[\\\\\\] 在 Swift 字符串中。

最终的有效字符串是:

var passwordRegex = "^[A-Za-z0-9 !\"#$%&'()*+,-./:;<=>?@\\[\\\\\\]^_`{|}~].{8,}$"

关于ios - 具有特殊字符的 Swift 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50179785/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com