我必须编写一个正则表达式来匹配子价格,即"18.99",因为有多个类名相同的span类,即“货币和价格-值”,所以我想从子类编写正则表达式,这里的4-11是动态数据,它可以更改。
<p class="price">CHILD 4-11yrs<br /> <span class="currency">£</span> <span class="price-value">18.99</span></p>
想要一个能从孩子身上辨认出价格的regex。有人能帮我吗。提前谢谢。
发布于 2016-09-06 08:49:20
由于您只想检查您需要获取的span
标记是否包含一个文本子字符串CHILD
,所以最好使用一个提取器和下面的XPath查询:
//span[parent::p[contains(text(),'CHILD')] and @class='price-value']/text()
详细信息
//span
-给我一个span
标签.[parent::p[contains(text(),'CHILD')]
-其父标记为p
,其值包含CHILD
子字符串and
-还有.@class='price-value']
- class
属性值是price-value
./text()
--把那个span
的值给我。注意事项:如果p
标记以CHILD
开头,您也可以使用starts-with
//span[parent::p[starts-with(text(),'CHILD')] and @class='price-value']/text()
^^^^^^^^^^^
发布于 2016-09-06 22:40:01
要提取HTML内容,使用CSS/ JQuery抽取器要好得多,也更容易。
要提取所需的表达式,请执行以下操作:
span.price-value
将属性保留为空,仅此而已
https://stackoverflow.com/questions/39344260
复制相似问题