XPath:在包含函数中使用正则表达式

前端之家收集整理的这篇文章主要介绍了XPath:在包含函数中使用正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用以下正则表达式匹配以下文本sometext12345_text。
我在我的一个硒测试中使用这个。
String expr = "//*[contains(@id,'sometext[0-9]+_text')]";
driver.findElement(By.xpath(expr));

它似乎没有工作。有人可以帮忙吗?

XPath 1.0不能本地处理正则表达式,可以尝试类似的东西
//*[starts-with(@id,'sometext') and ends-with(@id,'_text')]

(正如paul t所指出的那样,// * [boolean(number(substring-before(substring-after(@id,“sometext”),“_text”)))]可以用来执行相同的检查你的原始正则表达式如果您还需要检查中位数字)

在XPath 2.0中,尝试

//*[matches(@id,'sometext\d+_text')]

猜你在找的正则表达式相关文章