在 iOS 中使用正则表达式进行验证
Validation using Regular Expressions in iOS
我正在 iOS 中使用正则表达式 (Regex) 对用户名字段进行验证。我不希望用户名以单词 "guest" 开头。我尝试了以下代码,但它不起作用。
[txtUserName addRegx:@"^(guest)" withMsg:@"Username Can't start with the word guest"];
想法?
您必须像下面这样删除 ( ):
[txtUserName addRegx:@"^guest" withMsg:@"Username Can't start with the word guest"];
您可以尝试使用这个正则表达式:
^(?!guest).*$
解释:
^ 断言字符串开头的位置
(?!guest) Negative Lookahead - 断言不可能匹配下面的正则表达式
guest 按字面意思匹配字符 guest(区分大小写)
.* 匹配任意字符(换行符除外)
量词:*介于零次和无限次之间,尽可能多次,按需回馈[贪心]
$ 断言字符串末尾的位置
编辑:
要使其不区分大小写,您可以试试这个:
^(?i:(?!guest)).*$
我正在 iOS 中使用正则表达式 (Regex) 对用户名字段进行验证。我不希望用户名以单词 "guest" 开头。我尝试了以下代码,但它不起作用。
[txtUserName addRegx:@"^(guest)" withMsg:@"Username Can't start with the word guest"];
想法?
您必须像下面这样删除 ( ):
[txtUserName addRegx:@"^guest" withMsg:@"Username Can't start with the word guest"];
您可以尝试使用这个正则表达式:
^(?!guest).*$
解释:
^ 断言字符串开头的位置
(?!guest) Negative Lookahead - 断言不可能匹配下面的正则表达式 guest 按字面意思匹配字符 guest(区分大小写)
.* 匹配任意字符(换行符除外)
量词:*介于零次和无限次之间,尽可能多次,按需回馈[贪心]
$ 断言字符串末尾的位置
编辑:
要使其不区分大小写,您可以试试这个:
^(?i:(?!guest)).*$