regex 如何编写正则表达式在Javascript adobe中的第10个位置找到确切的单词?

ny6fqffe  于 2023-04-13  发布在  Java
关注(0)|答案(2)|浏览(89)

我一直在尝试编写正则表达式,它可以在javascript adobe classification rule builder中的特定位置找到特定的单词

DI_NEO_OP_BRA_CRC_LRN_DIS_EP_NA_CON_UC_NA

我想得到的结果作为CON从上述行在Adobe分类规则生成器的代码,我一直在使用得到所需的输出是

^(.+?)\_(.+?)\_(.+?)\_(.+?)\_(.+?)\_(.+?)\_(.+?)\_(.+?)\_(.+?)\_(.+?)\_(.+?)$

然而,这段代码只给予了输出作为任何字,这是在第10位?我想得到的输出匹配CON和在第10位。

c7rzv4ha

c7rzv4ha1#

您可以使用单个捕获组,然后匹配CON后跟_或字符串结尾:

^(?:[^_\n]*_){9}(CON)(?:_|$)

说明

  • ^字符串开头
  • (?:[^_\n]*_){9}重复9次,匹配除_或换行符以外的任何字符,然后匹配_
  • (CON)捕获组1,匹配CON
  • (?:_|$)匹配_或Assert字符串结尾

Regex demo

aamkag61

aamkag612#

(?<=              # Match after
  ^               # the beginning of the line, then
  (?:[^_]+_)      #         1+ non-underscore chars followed by '_',
  {9}             # 9 times
)                 # 
CON               # literal 'CON',
(?=_|$)           # followed by '_' or end of line.

试试看on regex101.com

相关问题