gpt4 book ai didi

java - 简单的Java正则表达式匹配失败

转载 作者:行者123 更新时间:2023-11-29 05:24:57 36 4
gpt4 key购买 nike

在你们因为发布与之前提出的问题类似的内容而跳到我面前之前,是的,似乎有许多与正则表达式相关的问题,但似乎没有任何帮助我,或者至少我能看到。

我正在尝试使用 PATTERNMATCHER 解析 JAVA 中的字符串,但我真的很不开心。当我使用一些在线正则表达式测试网站时,我的正则表达式似乎与我的输入字符串匹配,但 Java 根本不匹配我的表达式。

我的输入字符串是:

"大苹果"title="小苹果"type="Container"url="http://malcolm.com/testing"

我用来匹配的正则表达式是 ".*"title="(.*)"type="Container"url="(.*)"

本质上,我想提取第二和第四组引号中的文本。始终会有 4 组引号,在其内部和周围都有文字。

我的编码如下:

变量 XMLSubstring 包含上面的字符串(包括引号)并且如声明的那样,即使我打印出来也是如此。

Pattern p = Pattern.compile(".* title=\"(.*)\" type=\"Container\" url=\"(.*)\"");

m = p.matcher(XMLSubstring);

这似乎不是我正在尝试的火箭科学,但我正在拔头发试图调试该死的东西。

我的正则表达式模式有问题吗?我使用的代码有问题吗?我只是个白痴,应该立即停止编码吗?

编辑和更新:我发现了问题。我的字符串末尾有一个空格,这会破坏解析器!真傻,我想基于此,我需要接受我的第三个建议,放弃编程。感谢大家的帮助。

最佳答案

试试这个,

    String str="\"Big apple\" title=\"Little Apple\" type=\"Container\" url=\"http://malcolm.com/testing\"";

Pattern p=Pattern.compile(".* title=\\\".*\\\" type=\\\"Container\\\" url=\\\".*\\\"");
Matcher m=p.matcher(str);

关于java - 简单的Java正则表达式匹配失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23035427/

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