[英]Find all occurrences in string containing HTML
我有一個包含HTML的字符串,例如:
s <- "...<span class=\"pull-right\">170 cm</span>...
<span class=\"pull-right\">29</span>...
<span class=\"pull-right\">06/24/1987</span>..."
其中...
表示之間還有其他HTML標記。 我想提取>
和</span>
之間的信息,可以
mm/dd/yyyy
我為正則表達式想到了這樣的東西:
">[0-9/]*[a-z ]*[A-Z]*</span>"
這個對嗎? 如何提取感興趣的值? 也就是說,給定s
:
170 cm
29
06/24/1987
您最好去一個HTML解析器。 但是,如果您需要一種基於正則表達式的快速且骯臟的解決方案,請使用環視方法在某些開頭( (?<=>)
為前一個>
)和結尾( (?=</span>)
為尾隨</span>
之間提取模式)模式:
(?<=>)[0-9/A-Za-z ]*(?=</span>)
請注意, 0-9/
, az
, AZ
組合在一類中,否則1 Gb
類的字符串將不匹配(您的原始正則表達式要求大寫字母后跟小寫字母)。
可以使用perl=TRUE
環視:
m <- gregexpr("(?<=>)[0-9A-Za-z /]*(?=</span>)", s, perl=TRUE)
regmatches(s, m)
演示: https : //ideone.com/yvXIuP
這是一個匹配的正則表達式
170厘米
29
1987年6月24日
(\d{2}\/\d{2}\/\d{4})|(\d+ [A-Za-z]+)|(\d+)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.