gpt4 book ai didi

java正则表达式不情愿的量词给出贪婪的量词

转载 作者:行者123 更新时间:2023-12-02 04:14:34 33 4
gpt4 key购买 nike

我正在尝试 java 正则表达式量词

    Pattern p = Pattern.compile("^s(.*?)n$");
Matcher m = p.matcher("sensation");
if(m.matches()){
System.out.println("dude how is this even possible");
System.out.print(m.group() + m.start()+m.end()+"\n");



}else {
System.out.println("sorry dude someting wrong");
}

因为它是相关量词,所以应该给出以下结果森站

但相反,我感觉到哪里出了问题或者我错过了什么

最佳答案

您已两次告诉程序您的模式需要匹配整个字符串。这就是为什么它不能只匹配 "sen" 部分,即使您使用不情愿的限定符也是如此。

(1) 模式末尾的 $ 与字符串的末尾匹配;它不会让您匹配 "sen" 因为 "sen" 后面没有字符串的结尾。

(2) 您正在使用 m.matches(),它仅在整个字符串匹配时返回 true。请参阅 matches 的定义.

删除 $ 并将 matches() 更改为 find()

关于java正则表达式不情愿的量词给出贪婪的量词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33459518/

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