如果您有一个字符串,让我们假设:AB--AB。我想使用XPath查找可以是AB??AB的节点,这意味着节点属性中的问号是某种占位符--它们的出现量可能不同,因此也应该与AB?-AB匹配。你怎么能解决这个问题?
发布于 2013-09-25 14:40:15
XPath 2.0具有正则表达式支持:如果字符串是文本AB的序列,后面跟着0、一两个任意字符,然后是文字AB,则matches($string, 'AB.{0,2}AB')将匹配。
发布于 2013-09-25 15:18:46
使用XPath 1.0,您必须坚持使用substring(....)、substring-before(....)、substring-after(....)、starts-with(...)和string-length(...)。遗憾的是,这里甚至没有一个ends-with(...)函数。
允许所有字符串以"AB“开头和结尾的可能解决方案可能是:(我不完全确定您的需要):
//foo[
starts-with(., 'AB')
and
substring(., string-length(.)-1, 2) = 'AB'
and
string-length(.) >= 6
]https://stackoverflow.com/questions/19007703
复制相似问题