字符串示例:“ ttttar”,“ bbbb abbb”,“ cccacc bbb”
我想分别使用表达式[^ \\ w] +提取“ tttt”,“ bbbb”和“ ccc”
我肯定知道^ \\ w会产生每个字符串的第一个字符。因此,对于第一个字符串,结果表达式不应该是[t] +,并因此计算为“ tttt”吗?
最佳答案
首先,将^
放在错误的位置。您已将其放在[]
内,这意味着完全不同。 [^]
表示反向字符类,因此它匹配不在字符类中的任何字符。您应该将其放在[]
之外。
另一件事是,您似乎想连续匹配同一字符,因为您不能只使用简单的字符类。您需要反向参考。不幸的是,正则表达式无法按照您描述的方式工作。
^(\w)\1*
请注意,我将
\w
放入了一个组,特别是第1组。而且我只匹配了一次。然后,匹配\1
,表示“第1组包含的内容”。