^(?=.*[0-9])(?=.*[A-z])[0-9A-z-]{17}$
Run Code Online (Sandbox Code Playgroud)
应该匹配"17个字母数字字符,也允许使用连字符,必须包含至少一个字母和至少一个数字"
它会正确匹配:
ABCDF31U100027743
Run Code Online (Sandbox Code Playgroud)
并正确拒绝匹配:
AB$DF31U100027743
Run Code Online (Sandbox Code Playgroud)
(以及几乎任何其他非字母数字字符)
但显然会允许:
AB^DF31U100027743
Run Code Online (Sandbox Code Playgroud) 我有当前的正则表达式:
/(?<=[\s>]|^)#(\w*[A-Za-z_]+\w*)/g
Run Code Online (Sandbox Code Playgroud)
我正在测试字符串:
Here's a #hashtag and here is #not_a_tag; which should be different. Also testing: Mid#hash. #123 #!@£ and <p>#hash</p>
Run Code Online (Sandbox Code Playgroud)
出于我的目的,在该字符串中应该只检测到两个主题标签.我想知道如何更改表达式,使其与我的示例中以#结尾的主题标签不匹配;#not_a_tag;
干杯.