正则表达式来找到ID =“findme”的值在HTML元素

正则表达式来找到ID =“findme”的值在HTML元素

问题描述:

给定一个HTML字符串,如:(?如果它甚至有可能)正则表达式来找到ID =“findme”的值在HTML元素

<span class="findme" id="31313131313">The Goods</span> 

ColdFusion的什么样的正则表达式将只返回:31313131313

谢谢!

+0

你知道正则表达式不应该解析HTML吗? http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags,并downvoted几个人的答案,你还在期待更多的东西? – YOU 2010-03-12 06:08:05

+0

试图弄清楚这一点。 – AnApprentice 2010-03-12 06:10:57

+0

埃里克,谢谢,但这是不同的,最后一个问题是得到SPAN ...这个问题是如何提取ID。 – AnApprentice 2010-03-12 06:25:52

尝试,<span[^>]+?id="([^"]+)".*

根据Amarghosh回答您的意见,这将是

<cfset uniqueID = rereplace(results[i],'<span[^>]+?id="([^"]+)".*',"\1")> 
+0

Thanks Mark,刚刚尝试过,它很接近......它回来了: 581-1268367477845>世贸中心Captive创建了一个价值10亿美元的联邦应急管理局拨款,并提供保险范围 – AnApprentice 2010-03-12 06:31:10

+0

更新! ........ – YOU 2010-03-12 06:32:01

+0

确定这样做了! (。*)',“\ 1”)>] +?id =“([^”] +)“ – AnApprentice 2010-03-12 06:32:06

这是不是一个好主意,通常使用正则表达式解析HTML。改为使用html解析器。

也就是说,下面的正则表达式会给你从给定的字符串的编号

<span[^>]*id="(\d+)" 

匹配,$1的第一组,将包含31313131313

它假设数字ID。对于字母数字字符,请将\d替换为[0-9a-zA-Z]。如果_也可以,您可以使用\w

+0

@Amarghosh thxs,它将始终是数字。我只是试过这个,但它返回了整个字符串,没有改变。任何想法为什么? – AnApprentice 2010-03-12 06:16:41

+0

下面是整行: \t ] * id =“(\ d +)”','\ 3')> – AnApprentice 2010-03-12 06:17:43

+0

将'\ 3'更改为'\ 1 “我们只有一个捕获组。 – Amarghosh 2010-03-12 06:26:35