标签: regex
现在,我有一个正则表达式,如下所示:
6,128,202,407 sha256 hash database
它与当前所有字母数字字符匹配。我希望它能够与具有中间下划线的表达式匹配,但如果有连续的下划线,前导下划线或尾随下划线,则不能匹配。 即
2^256
[A-Za-z][A-Za-z0-9]*
test__
_test
正则表达式是什么样子?
答案 0 :(得分:1)
尝试一下
^[a-zA-Z0-9]+_[a-zA-Z0-9]+$
使_为可选
_
^[a-zA-Z0-9]+_{0,1}[a-zA-Z0-9]+$
允许多个_
^(?:[a-zA-Z0-9]+_{0,1})+[a-zA-Z0-9]+$
答案 1 :(得分:1)
[A-Za-z][A-Za-z0-9]*(?:_[A-Za-z0-9]+)*
应符合要求。这将使用您已经拥有的内容,并添加选项,如果后面至少有一个或多个[A-Za-z0-9]字符,则使用下划线。
[A-Za-z0-9]
您可能希望将^和$的解决方案锚定到字符串的开头和结尾,但这取决于您的用例。
^
$