【发布时间】:2018-12-10 16:25:10
【问题描述】:
您好,我无法获取字符串的第三个元素 (F604080)
<sourceDocumentId>AX02_APF604_F604080</sourceDocumentId>
我已经尝试过这个正则表达式和变体,但我可以设法得到 F604080。
(?<=\w+_)\w+(?=\<)
(?<=\w+_\w+_)\w+(?=\<)
....
任何帮助将不胜感激。 谢谢。
【问题讨论】:
-
不要使用正则表达式扫描标记。您想使用专用解析器扫描 XML,然后仅对值使用正则表达式。之后,如果它是一致的,您可以在出现
_字符的最后一个索引处获取一个子字符串,+ 1(即可以说您不需要正则表达式)。 -
Java 不支持像
(?<=\w+_)这样的无限后视。您的第一个正则表达式可以使用 quantifier demo 的有限后视来工作,但如果您可以使用解析器,那就更好了。