gpt4 book ai didi

不接受单个下划线但接受单个字母表的正则表达式

转载 作者:行者123 更新时间:2023-12-01 23:13:44 36 4
gpt4 key购买 nike

表达式不应接受除下划线以外的任何特殊字符且其中不包含数字,并且它应该接受单个或多个字母。
例子

abc_dc(应该接受)

_bsc(应该接受)

A(应该接受)

_(不应该接受)

a__b(不应该被接受)

我试过:

(^(?!.*?[_]{2})[^_][a-zA-Z_]+$)

但这不接受单个字母。

最佳答案

您可以尝试以下模式:

^(?=.*[a-zA-Z])(?=[a-zA-Z_]+$)(?!.*_{2,}).+

图案解释:

通常,通过将先行放置在模式的开头来实现多个验证,我使用了相同的策略。

解释:

^ - anchor - 匹配字符串的开头

(?=.*[a-zA-Z]) - 正向先行 - 断言当前位置后面是零个或多个任意字符 (.*)后跟字母字符。简单地 - 断言后面的内容至少包含一个字母。

(?=[a-zA-Z_]+$) - 断言后面的内容仅包含字母或下划线,直到字符串结尾(感谢 $)。

(?!.*_{2,}) - 否定先行 - 断言后面的内容不包含两个(或更多)下划线(感谢 _{2,}/

.+ - 匹配一个或多个任意字符。

Regex demo

关于不接受单个下划线但接受单个字母表的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69356751/

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