我正在尝试匹配文件中的用户名。有点像这样:

用户名= asd123 password123

等等。

我正在使用正则表达式:

username=(.*) password


获取用户名。但是,如果用户名是“和”或类似名称,则不匹配。它不会匹配括号。有什么解决办法吗?

最佳答案

我可能会使用正则表达式:

username=([a-zA-Z0-9\[\]]+) password

或类似的东西。关于此的注意事项:


转义括号可确保获得文字括号。
a-zA-Z0-9跨度匹配字母数字字符(按照您的示例,这是字母数字)。因此,它将与任何字母数字字符或方括号匹配。
+修饰符可确保您匹配至少一个字符。 *Kleene star)将允许零重复,这意味着您将接受一个空字符串作为有效的用户名。
我不知道RegexKitLite是否允许POSIX类。如果是这样,则可以使用[:alnum:]代替a-zA-Z0-9。不过,我上面给出的内容应该可以工作,如果不能的话。


或者,我不允许在用户名中使用方括号。 IMO并不需要它们。

关于iphone - RegexKitLite不匹配方括号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3463822/

10-12 00:16
查看更多