You need to enable JavaScript to run this app. Java正则表达式匹配无结果 无法提取预期key问题求助
优惠活动
大模型
产品
解决方案
定价
更多

Java正则表达式匹配无结果 无法提取预期key问题求助

问题解决方法

错误原因

  • 正则字符串包含无效内容:你将正则边界引号、gm模式标识直接写在了Java的正则字符串中,Java Pattern不会识别这部分为配置项,而是会当做匹配规则的一部分,导致无匹配结果。
  • 多行模式未开启:你需要用^匹配每一行的行首,必须显式传入Pattern.MULTILINE参数开启多行模式,对应测试工具中的m标记。
  • 转义规则不符合Java语法:Java字符串中的反斜杠需要双重转义才能被正则引擎识别,原代码的转义逻辑存在问题。
  • 内容字符串的无效转义:原content中给空格加的反斜杠属于Java无效转义,空格不需要额外转义。

修正后代码

String content = "This is an example.=This is an example\nThis is second:=This is second";
// 移除多余引号和内嵌标识,正则规则保留原逻辑
String regex = "^.*(?=\\=)";
// 传入Pattern.MULTILINE开启多行模式
Pattern p = Pattern.compile(regex, Pattern.MULTILINE);
Matcher m = p.matcher(content);
List<String> mKeys = new ArrayList<>();
while (m.find()) {
   mKeys.add(m.group());
}

运行结果

修正后mKeys会输出两个预期元素:This is an example.、This is second:。

内容的提问来源于stack exchange,提问作者binks29

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 11:54:03