gpt4 book ai didi

java - 正则表达式适用于在线检查器,但不适用于 Java

转载 作者:行者123 更新时间:2023-12-01 18:43:38 25 4
gpt4 key购买 nike

我有一个 xml 文件,其中包含如下文本:

<text top="84" left="97" width="737" height="32" font="0">SmartFS-A Serverless Distributed       File System for</text>
<text top="126" left="371" width="187" height="32" font="0">Smartphones</text>
<text top="217" left="253" width="424" height="15" font="1">Sonali Batra,Vijay Raghunathan and Mithun Kumar Rajendran</text>
<text top="237" left="325" width="281" height="13" font="2">School of Computer Science and Engineering</text>

我尝试使用正则表达式提取第一行,因为每个 XML 文件除了字体之外的所有内容都发生了变化。我当前使用但总是返回 false 的正则表达式是:

if (xml.matches("<text top=\"[0-9]*\" left=\"[0-9]*\" width=\"[0-9]*\" height=\"[0-9]*\" font=\"0\">"))

我已经测试了 http://gskinner.com/RegExr/ 中的表达式它会检测到该线。

最佳答案

matches 方法检查整个字符串是否与正则表达式匹配。

使用

xml.matches(".*<text top=\"[0-9]*\" left=\"[0-9]*\" width=\"[0-9]*\" height=\"[0-9]*\" font=\"0\">.*")

否则你的模式将被评估为

^<text top=\"[0-9]*\" left=\"[0-9]*\" width=\"[0-9]*\" height=\"[0-9]*\" font=\"0\">$

从未被发现。

旁注:我真的建议使用 xml 解析来完成这些事情。

关于java - 正则表达式适用于在线检查器,但不适用于 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18871188/

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