正则表达式我如何验证字母之间的下划线

标签 regex

我如何允许任何单词字符和下划线之间应该有一个字母和一个数字。

例子:ab2_sb, s_s,

但它不应该允许 sdc_ 或 _s2

这是我的代码

[a-zA-Z0-9_]{6,255}$

我在 javascript 上使用正则表达式

最佳答案

您需要将字符长度检查与模式分开,如果没有隐式添加,也不要忘记 anchor :

^(?=.{6,255}$)[a-zA-Z0-9]+(?:_[a-zA-Z0-9]+)*$

如果只能有1个下划线,则将最后一个*替换为?量词。

详细信息:

  • ^ - 字符串的开始
  • (?=.{6,255}$) - 长度检查,换行符号以外的 6 到 255 个字符
  • [a-zA-Z0-9]+ - 1 个或多个字母数字字符
  • (?:_[a-zA-Z0-9]+)* - 零次或多次出现:
    • _ - 下划线
    • [a-zA-Z0-9]+ - 1 个或多个字母数字字符
  • $ - 字符串结尾。

关于正则表达式我如何验证字母之间的下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50869776/

相关文章:

r - 使用模式进行部分字符串匹配

Javascript : find regexp with capture to replace a^b by Math. pow(a, b)

java - 尝试通过正则表达式删除CSS规则

robots.txt 的正则表达式

regex - sed:返回最后一次匹配直到文件结束

javascript - 正则表达式匹配URL参数

regex -\Q 和\E 内的哈希值

c# - 如何使用正则表达式查找重复的字符串以及它们之间的值?

regex - 如何在 Vim 正则表达式中包含文字 @(at 符号)?

python - 模式匹配问题