正则表达式中的[*]+代表什么意思?

4
我正在尝试解决regexcrossword.com上的谜题,但我发现它的说明不够清晰。我对这个表达式的理解是:
- [] = 方括号内的任意字符组合 - * = 前面模式出现0次或多次 - + = 前面模式出现1次或多次
但我不明白其中是否有要遵循的模式。我错过了什么吗?

提示:括号里是什么? - hoyland
7
你所忽略的细节是:当通配符(*+)位于方括号内时,它们失去了特殊含义,因为 [...] 总是只匹配 恰好一个 字符。 - Joe White
2个回答

7

*[] 内部时表示该字符本身(+ 也是如此)。

因此,[*]+ 表示一个或多个 *


3
通常使用括号来表示一组可接受的字符,例如 [ax] 表示 ax[1-9] 表示范围 [123456789] 的缩写。有时需要使用它们来掩盖其他已使用的字符,这取决于正则表达式使用的“方言”。
在这种情况下,[*] 最可能用于掩盖 *,因此应解释为 *+,其中字面上解释 *,而+则具有您描述的含义(1或更多)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接