gpt4 book ai didi

java - 模式.编译 ("(.*?):")

转载 作者:行者123 更新时间:2023-11-29 09:55:45 25 4
gpt4 key购买 nike

我正在尝试理解以下代码:

Pattern.compile("(.*?):")

我已经做了一些 research关于它可能意味着什么,但我不太明白:

根据 java 文档,* 表示 0 次或多次,尽管 ?表示一次或根本没有。

另外,':' 是什么意思?

谢谢

最佳答案

这称为勉强量词。星号和问号 *? 一起表示“零次或多次,没有匹配输入中比需要的更多字符”。这就是防止点 . 表达式与输入中的后续冒号 : 匹配的原因。

匹配相同序列的更好表达式是[^:]*:,因为它可以避免回溯。这是一个 link to an article explaining why .

关于java - 模式.编译 ("(.*?):"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12248793/

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