XPath:如何用AB--AB搜索AB??AB或AB?-AB
如果您有一个字符串,让我们假设:XPath:如何用AB--AB搜索AB??AB或AB?-AB,xpath,match,Xpath,Match,如果您有一个字符串,让我们假设:AB--AB。我想查找xpath节点,xpath可以是AB??AB,这意味着节点属性中的问号是某种占位符,它们的出现量可能不同,因此它也应该与AB?匹配。 如何解决这个问题?XPath 2.0提供了正则表达式支持:匹配($string,'AB.{0,2}AB')如果字符串是一个literalAB序列,后跟零、一个或两个任意字符,后跟literalAB,那么它将匹配 XPath2.0具有正则表达式支持:matches($string,'AB.{0,2}AB')如果字
AB--AB
。我想查找xpath节点,xpath可以是AB??AB
,这意味着节点属性中的问号是某种占位符,它们的出现量可能不同,因此它也应该与AB?
匹配。
如何解决这个问题?XPath 2.0提供了正则表达式支持:
匹配($string,'AB.{0,2}AB')
如果字符串是一个literalAB
序列,后跟零、一个或两个任意字符,后跟literalAB
,那么它将匹配 XPath2.0具有正则表达式支持:matches($string,'AB.{0,2}AB')
如果字符串是一个literalAB
序列,后跟零、一个或两个任意字符,后跟literalAB
,则将匹配 使用XPath 1.0,您必须坚持使用子字符串(…)
,子字符串在(…)
之前,子字符串在(…)
之后,以(…)
和字符串长度(…)
开头。遗憾的是,甚至没有以(…)结尾的函数
允许所有以“AB”开头和结尾的字符串以及至少两个字符之间的字符串的可能解决方案是(我不完全确定您的需要):
//foo[
以(,'AB'开头)
和
子字符串(,字符串长度(.)-1,2)='AB'
和
字符串长度(.)>=6
]
在XPath 1.0中,您必须坚持使用子字符串(…)
,子字符串在(…)
之前,子字符串在(…)
之后,以(…)
和字符串长度(…)
开头。遗憾的是,甚至没有以(…)
结尾的函数
允许所有以“AB”开头和结尾的字符串以及至少两个字符之间的字符串的可能解决方案是(我不完全确定您的需要):
//foo[
以(,'AB'开头)
和
子字符串(,字符串长度(.)-1,2)='AB'
和
字符串长度(.)>=6
]
我喜欢您编写xpath表达式的方式..:)语法样式。So+1我喜欢您编写xpath表达式的方式..:)语法样式。So+1