首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RegexKitLite与方括号不匹配

RegexKitLite与方括号不匹配
EN

Stack Overflow用户
提问于 2010-08-12 08:11:20
回答 2查看 290关注 0票数 2

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

username=asd123 password123

诸若此类。

我使用的是正则表达式:

代码语言:javascript
复制
username=(.*) password

来获取用户名。但如果用户名是anders或类似的,则不匹配。它不会和括号匹配。有什么解决方案吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-12 09:31:59

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

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

或者类似的东西。关于这一点的说明:

对括号进行转义可确保您获得文字括号。

  • a-zA-Z0-9跨度匹配字母数字字符(如您的示例所示,即字母数字)。因此,这将匹配任何字母数字字符或方括号。

  • +修饰符确保您至少匹配一个字符。* (Kleene star)将允许零重复,这意味着您将接受空字符串作为有效的用户名。

  • 我不知道RegexKitLite是否允许POSIX类。如果是这样的话,你可以用[:alnum:]代替a-zA-Z0-9。不过,我在上面给出的方法应该可以在不起作用的情况下运行。

或者,我不允许在用户名中使用括号。他们不是真的需要,国际海事组织。

票数 1
EN

Stack Overflow用户

发布于 2010-08-12 09:08:50

您的正则表达式是正确的。相反,您可以尝试以下方法:

代码语言:javascript
复制
username=([][[:alpha:]]*) password

[][[:alpha:]]表示括号中包含][[:alpha:]

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3463822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档