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

问题描述 投票:0回答:2

我一直在尝试编写正则表达式,在 javascript adobe 分类规则生成器中的特定位置查找特定单词

DI_NEO_OP_BRA_CRC_LRN_DIS_EP_NA_CON_UC_NA  

我想从 adobe 分类规则生成器代码中的上面一行获得结果,我一直使用它来获得所需的输出是

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

但是这段代码只输出第 10 位的任何单词?我想获得与 CON 匹配且位于第 10 位的输出。

javascript regex adobe
2个回答
1
投票

您可以使用单个捕获组,然后匹配 CON 后跟

_
或字符串结尾:

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

说明

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

正则表达式演示


0
投票
(?<=              # 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.

在 regex101.com 上尝试.

© www.soinside.com 2019 - 2024. All rights reserved.