gpt4 book ai didi

Java Regex 检查字符串是否包含 XML 标记

转载 作者:数据小太阳 更新时间:2023-10-29 02:01:29 24 4
gpt4 key购买 nike

我正在尝试使用 String.match() 函数确定一个字符串是否包含至少一个 XML 标记。由于项目的设置方式,我希望不必使用 Pattern

目前我使用这个正则表达式:

<[A-Za-z0-9]+>

这显然只检查字符串是否有包含文本的左右箭头括号。我需要的是一种检查字符串是否只有一个带有 Regex 的 XML 标记的方法,例如输入如下:

blah <abc foo="bar">blah</abc> blah
blah <abc foo="bar"/>

但不是像这样输入:

blah <abc> blah
blah <abc </abc> blah

这可能吗?

最佳答案

这个:

if (input.matches("(?s).*(<(\\w+)[^>]*>.*</\\2>|<(\\w+)[^>]*/>).*"))

匹配两种类型的标签(标准和自闭合):

<abc foo="bar">blah</abc>
<abc foo="bar"/>

不匹配不完整的标签,例如:

<abc>

参见 regex live demo .

关于Java Regex 检查字符串是否包含 XML 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31346991/

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