我正在尝试匹配文件中的用户名。它有点像这样:
username = asd123 password123
等等。
我正在使用正则表达式:
username=(.*) password
获取用户名。但如果用户名是和[ers]或类似的话,它就不匹配。它与括号不匹配。对此有何解决方案?
答案 0 :(得分:1)
您的正则表达式是正确的。相反,你可以尝试这个:
username=([][[:alpha:]]*) password
[ ][[:alpha:]
] 表示]
,[
和[:alpha:]
包含在括号内。
答案 1 :(得分:1)
我可能会使用正则表达式:
username=([a-zA-Z0-9\[\]]+) password
或类似的东西。有关这方面的说明:
a-zA-Z0-9
跨度匹配字母数字字符(根据您的示例,即alphanumerc)。因此,这将匹配任何字母数字字符或括号。+
修饰符可确保您匹配至少一个字符。 *
(Kleene star)将允许零重复,这意味着您将接受空字符串作为有效用户名。[:alnum:]
代替a-zA-Z0-9
。如果没有,我上面给出的那个应该可以工作。或者,我会禁止在用户名中使用括号。他们并不是真的需要,IMO。