带下划线、最小发生率和无最大发生率的字母数字字符串模式的正则表达式-javascript
我不熟悉regex,正在尝试使用regex在javascript/jquery中进行验证,非常感谢您的帮助 输入为:带下划线、最小发生率和无最大发生率的字母数字字符串模式的正则表达式-javascript,javascript,jquery,regex,Javascript,Jquery,Regex,我不熟悉regex,正在尝试使用regex在javascript/jquery中进行验证,非常感谢您的帮助 输入为: 字母数字字符串 至少有3个下划线 下划线不能是连续的 下划线不能仅用空字符串分隔 字符串不能以下划线开头或结尾 有效测试用例: Abc_def_gh_123 Abc_def_1h_103_BA Abc_def_1h_103_BA 无效测试用例 \uuuuuuu \uuuuuu Abc\u d Abc_def_ghi_de21_ Abc_def_fg Abc_def_fg_ \u
Abc_def_gh_123
Abc_def_1h_103_BA
Abc_def_1h_103_BA
\uuuuuuu
\uuuuuu
Abc\u d
Abc_def_ghi_de21_
Abc_def_fg
Abc_def_fg_
\u Abc\u def\u fg
/^[a-zA-Z0-9]+_[a-zA-Z0-9]+_[a-zA-Z0-9]+_[a-zA-Z0-9]+$/
但是它失败了,例如,如果字符串有3个以上的下划线
(?=^[a-zA-Z0-9]+?_[a-zA-Z0-9]+?_[a-zA-Z0-9]+?_[a-zA-Z0-9_]*$)(?!.*?_$)(?!.*?_{2,}.*)^.*$
试试这个,这个管用
见演示
此regexp应完成以下工作:
/^([a-zA-Z0-9]+_){3,}[a-zA-Z0-9]+$/
细分:
[a-zA-Z0-9]+
以任意大小写字母或数字开头
([a-zA-Z0-9]+
包含一个下划线,后跟另一个小写/大写字母和数字序列
{3,}$
至少三次(三组下划线)
愉快的编码:)那么Java、JavaScript或Perl?javaacript请-我有regex=/^[a-zA-Z0-9]+齌[a-zA-Z0-9]+齌[a-zA-Z0-9]+齌[a-zA-Z0-9]+$/;失败的地方–当字符串有3个以上下划线时,您可以使用您迄今为止尝试过的任何正则表达式编辑您的问题此
\u ad\u af\u ag
?在标记“\u ad\u af\u ag”通过您的正则表达式后,单击编辑,虽然它不应该Abc_def_gh__123
而且:/@TomSarduy它在有效的测试用例下。@vks:OP说下划线不能被删除consecutive@TomSarduy一个漏掉的点是:(:P尽管如此,我的不懈努力仍在继续。现在看来,我们能说这个答案是第一个正确的答案吗?
/([a-zA-Z0-9]+_[a-zA-Z0-9]+){3,}$/mg