Javascript 我的正则表达式正确吗^(?!|[0-9])(?!.[A-Za-z0-9]和x2B;(?<;!)$
我的正则表达式:Javascript 我的正则表达式正确吗^(?!|[0-9])(?!.[A-Za-z0-9]和x2B;(?<;!)$,javascript,regex,Javascript,Regex,我的正则表达式: ^(?!_|[0-9])(?!.*__)[A-Za-z0-9_]+(?<!_)$ ^(?![0-9])(?!.[A-Za-z0-9])+(?)? 这就是我想要实现的目标: 不能以数字或下划线开头 不允许使用连续下划线 只允许使用字母、数字和下划线 不能以下划线结尾 我的正则表达式是否符合我的要求?我做了一项研究,说我的正则表达式具有负lookhehind,javascript不支持它。请帮助我创建支持javascript的等价正则表达式 非常感谢。您的模式满足了您的要求
^(?!_|[0-9])(?!.*__)[A-Za-z0-9_]+(?<!_)$
^(?![0-9])(?!.[A-Za-z0-9])+(?)?
这就是我想要实现的目标:
不能以数字或下划线开头
不允许使用连续下划线
只允许使用字母、数字和下划线
不能以下划线结尾
我的正则表达式是否符合我的要求?我做了一项研究,说我的正则表达式具有负lookhehind,javascript不支持它。请帮助我创建支持javascript的等价正则表达式
非常感谢。您的模式满足了您的要求。不要对\u
使用反向查找,而是在末尾匹配[a-Za-z0-9]
(不带\u
的字符集):
您还可以将[A-Za-z0-9\
简化为\w
,[0-9]
简化为\d
,使用不区分大小写的标志,而不是重复A-Za-Z
,如果您愿意,还可以组合最初的负面外观:
/^(?![_\d]|.*__)\w*[a-z\d]$/i
这是我针对您列出的4项要求提出的建议:
^[a-zA-Z]([a-zA-Z0-9]*_[a-zA-Z0-9])*[a-zA-Z0-9]*$
我不确定你在用正则表达式做什么,但对我来说它似乎无效。如果你想自己测试它,请尝试regex101.com你也可以使用正则表达式,在你不想要的情况下测试true,然后否定结果
您不想要的案例:
以数字或下划线开头:^[0-9\]
连续下划线:\uu
字母、数字或下划线以外的内容:[^0-9a-z\]
以下划线结尾:\u$
最后,用ORs|
将所有这些代码连接起来,给出:
^[0-9_]|_$|__|[^0-9a-z_]
然后否定测试:
!/^[0-9_]|_$|__|[^0-9a-z_]/gi.test('your string here')
请参见此处的测试:
你知道很多“regex测试”网站吗?这是你做的研究吗(例如)。最后,更具体的问题更好。你有没有发现不正确匹配的字符串?最好问“这是我的regex。它在ABC上不起作用。为什么不?”请看:同样,我也很困惑-你的标题询问你现有的正则表达式是否正确,最后一行询问如何在JavaScript中实现它。你问的是什么-这是否正确,或者如何修复它?不管怎样,堆栈溢出既不是免费的代码测试服务,也不是免费的代码转换服务。Can您想澄清您的问题吗?这也不起作用。甚至不匹配hello\u 123abc
立即尝试,忘记最后的*
!/^[0-9_]|_$|__|[^0-9a-z_]/gi.test('your string here')