gpt4 book ai didi

java - 为什么表达式 "[^\\w]+"不会生成与第一个字符相同的连续字符字符串?

转载 作者:行者123 更新时间:2023-12-03 01:58:26 26 4
gpt4 key购买 nike

示例字符串:“ttttar”、“bbbb abbb”、“cccacc bbb”

我想使用表达式 [^\\w]+ 分别提取“tttt”、“bbbb”和“ccc”

我确信 ^\\w 会生成每个字符串的第一个字符。那么,对于第一个字符串,结果表达式不应该是 [t]+ ,因此计算结果为“tttt”吗?

最佳答案

首先,您将 ^ 放在了错误的位置。您已将其放入 [] 内,这使得它的含义完全不同。 [^] 表示反向字符类,因此它匹配字符类中的任何内容。您应该将其放在 [] 之外。

另一件事是,您似乎想要连续匹配相同字符,因为您不能只使用简单的字符类。您需要一个反向引用。不幸的是,正则表达式无法按照您所描述的方式工作。

^(\w)\1*

请注意,我将 \w 放入一个组中,特别是组 1。而且我只匹配一次。然后,我匹配 \1,这意味着“我的组 1 包含的内容”。

关于java - 为什么表达式 "[^\\w]+"不会生成与第一个字符相同的连续字符字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49935773/

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