我正在尝试匹配文件中的用户名。有点像这样:
用户名= 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/