字符集[]中的正则表达式捕获组()

时间:2018-04-24 22:54:52

标签: regex

我想匹配空格字符(),只要它们后面跟一个哈希(#)。

这是下面( #)尝试做的事情,这是一个捕获组。 (我尝试转义括号,否则在组内无法正确识别括号)。但是,这不起作用。

以下正则表达式

/#[a-zA-Z\( #\)]+/g

匹配以下所有内容

#CincoDeMayo #Derby party with UNLIMITED #seafood towers

虽然我想匹配#CincoDeMayo #Derby并单独匹配#seafood

有没有办法在字符集()中指定捕获组[]

1 个答案:

答案 0 :(得分:1)

字符类用于匹配单个字符,因此,无法在字符类中定义字符序列

我认为你想要匹配特定的连续主题标签。使用

/#[a-zA-Z]+(?: +#[a-zA-Z]+)*/g

/#[a-zA-Z]+(?:\s+#[a-zA-Z]+)*/g

请参阅regex demo

<强>详情

  • #[a-zA-Z]+ - #后跟1 + ASCII字母
  • (?: - 非捕获组的开始......
    • \s+ - 1+空格
    • #[a-zA-Z]+ - #后跟1 + ASCII字母
  • )* - ...重复0次或更多次。