gpt4 book ai didi

Java正则表达式如何获取括号中的值。匹配器不起作用

转载 作者:行者123 更新时间:2023-12-01 19:52:32 24 4
gpt4 key购买 nike

我的匹配器有问题

String s = "termination:[2018-06-13T00:00:00 TO 2018-06-13T23:59:59]    "
Pattern r = Pattern.compile(".*(termination:\[(.+?) TO (.+?)\]?).*");
Matcher m = r.matcher(s);
if (m.find( )) {
String startDate = m.group(2);
String endDate = m.group(3);
}

但结束日期是 2 而不是 2018-06-13T23:59:59

知道为什么吗?

最佳答案

您的正则表达式中有一个轻微的拼写错误。这是更正后的:

.*(termination:\[(.+?) TO (.+?)\]).*

你的错误是在\]后面多了一个?。这使得右括号成为可选的,进而导致惰性 (.+?) 仅匹配一个字符。

关于Java正则表达式如何获取括号中的值。匹配器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50838259/

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