RegexKitLite 不匹配方括号

发布于 2024-09-14 03:44:04 字数 193 浏览 5 评论 0原文

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

用户名=asd123 密码123

等等。

我正在使用正则表达式:

username=(.*) password

获取用户名。但如果用户名是 and[ers] 或类似的,则不匹配。它不会匹配括号。有什么解决办法吗?

I'm trying to match usernames from a file. It's kind of like this:

username=asd123 password123

and so on.

I'm using the regular expression:

username=(.*) password

To get the username. But it doesn't match if the username would be say and[ers] or similar. It won't match the brackets. Any solution for this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

筱武穆 2024-09-21 03:44:04

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

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

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

  • 转义括号可确保您获得文字括号。
  • a-zA-Z0-9 跨越匹配字母数字字符(根据您的示例,这是 alphanumerc)。所以这将匹配任何字母数字字符或括号。
  • + 修饰符可确保匹配至少一个字符* (Kleene star) 将允许零< /em> 重复,这意味着您将接受空字符串作为有效用户名。
  • 我不知道 RegexKitLite 是否允许 POSIX 类。如果是这样,您可以使用 [:alnum:] 代替 a-zA-Z0-9。不过,如果不起作用的话,我上面给出的应该可以。

或者,我会禁止用户名中包含括号。 IMO,它们并不是真正需要的。

I would probably use the regular expression:

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

Or something similar. Notes regarding this:

  • Escaping the brackets ensures you get a literal bracket.
  • The a-zA-Z0-9 spans match alphanumeric characters (as per your example, which was alphanumerc). So this would match any alphanumeric character or brackets.
  • The + modifier ensures that you match at least one character. The * (Kleene star) will allow zero repetitions, meaning you would accept an empty string as a valid username.
  • I don't know if RegexKitLite allows POSIX classes. If it does, you could use [:alnum:] in place of a-zA-Z0-9. The one I gave above should work if it doesn't, though.

Alternatively, I would disallow brackets in usernames. They're not really needed, IMO.

鱼窥荷 2024-09-21 03:44:04

您的正则表达式是正确的。相反,您可以尝试这个:

username=([][[:alpha:]]*) password

[][[:alpha:]] 表示 ][[:alpha:] 包含在括号内。

Your Regular Expression is correct. Instead, you may try this one:

username=([][[:alpha:]]*) password

[][[:alpha:]] means ] and [ and [:alpha:] are contained within the brackets.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文