gpt4 book ai didi

正则表达式:任何单词和数字的组合,但带有一个下划线

转载 作者:行者123 更新时间:2023-12-02 05:10:52 25 4
gpt4 key购买 nike

如果它包含字母或数字或单个下划线序列,我想匹配整个字符串,所以:

已接受:

  • H_i_there
  • _this_is_OK_
  • _x_y_5_z
  • abddd_cdxxx

不接受:

  • s___2
  • __s__t__2
  • __x____x4

因此不允许使用多个连续的下划线。正则表达式如何查找这个?我的版本是:^[a-zA-Z0-9]+\_{0,1}[a-zA-Z0-9]+\_{0,1}$,但是这个必须以某种方式递归才能工作,而且据我所知,正则表达式不支持如此复杂的功能。

最佳答案

您可以使用

^_?[a-zA-Z0-9]+(?:_[a-zA-Z0-9]+)*_?$

请参阅regex demo

详细信息:

  • ^ - 字符串开头
  • _? - 可选的 _
  • [a-zA-Z0-9]+ - 1+ 字母数字字符
  • (?:_[a-zA-Z0-9]+)* - 0+ 个序列:
    • _ - 1 个下划线
    • [a-zA-Z0-9]+ - 1+ 字母数字字符
  • _? - 可选的 _
  • $ - 字符串结尾

效率较低但较短的模式:

^(?:_?[a-zA-Z0-9]+)*_?$

参见this demo .

关于正则表达式:任何单词和数字的组合,但带有一个下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41102546/

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