gpt4 book ai didi

javascript - 字母数字值的正则表达式,而不是两个连续的下划线下划线

转载 作者:行者123 更新时间:2023-12-05 09:28:41 27 4
gpt4 key购买 nike

我需要在 javascript 中为以下条件编写正则表达式

自定义元数据记录 MasterLabel 字段只能包含下划线和字母数字字符。它必须是唯一的,以字母开头,不包含空格,不以下划线结尾,并且不包含两个连续的下划线。

如果我们遗漏了独特的部分,因为我们必须用系统记录来检查它,我需要一个正则表达式来测试上面提到的其他条件。

这是我到目前为止构建的表达式,但它似乎不起作用。我是正则表达式的新手,因此我们将不胜感激。

/^[a-zA-Z]([a-zA-Z0-9][^ ][^__])[^_]*$/

最佳答案

当且仅当它匹配以下正则表达式时,该字符串才具有所有必需的属性:

/^[a-z][a-z\d]*(?:_[a-z\d]+)*$/i

Demo

正则表达式可以分解如下。

/
^ # match beginning of string
[a-z] # match a letter
[a-z\d]* # match one or more alphanumeric characters
(?: # begin non-capture group
_ # match an underscore
[a-z\d]+ # match one or more alphanumeric characters
)* # end non-capture group and execute it zero or more times
$ # match end of string
/i # specify matches of letters to be case-indifferent

请注意,我防止连续出现两个下划线的方法具有偶然的副作用,即确保字符串中的最后一个字符不是下划线(免费赠品!)。

关于javascript - 字母数字值的正则表达式,而不是两个连续的下划线下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71191932/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com