2012-02-29 31 views
0

我如何定义一个正则表达式,只是让我喜欢正则表达式匹配文本htmltag文本htmltag模式

文本HTMLTag文本HTMLTag文本HTMLTag模式........

基本单位patter是'text HTMLTag',可以使用$ 1和$ 2获取。


的一个实例数据将

abarelixx is a sample data for spellchecking<img src="Randomz" alt="Randomz Image">Randomz is the name of the image</img>Bigboss<img src="Randomz" alt="Randomz Image">Randomz is the name of the image</img>this is another text string 

这需要被分解为文本HTMLTag ......如果没有文字/ HTMLTag,它应该返回“”。

+1

有''标签?不要使用正则表达式来解析HTML。虽然你可以使用正则表达式进行标记,但它仍然可能[很难正确标记HTML](http://stackoverflow.com/questions/9462104/remove-on-js-event-attributes-from-html-tags/9466152# 9466152)。 – Qtax 2012-02-29 08:04:06

+0

不,没有像''这样的东西; 'img'是一个空标签。 Nishant,你能澄清一下你想要什么,或许还有其他例子吗? – beerbajay 2012-02-29 08:13:05

+0

JavaScript能够遍历DOM。无论你在哪里使用正则表达式,然后使用childNodes数组。例如,你的上面是5个节点(图像节点有自己的孩子,假设他们不是图像,而是这是有效的HTML)。 – Matt 2012-02-29 14:56:13

回答

0

我发现这个问题的体面的解决方案。追加一个'>'开头,'<'结束。然后使用类似于re = /([>])([^ <] +)([<])/ g $ 2的模式作为所有文本内容。 而且你可以使用正常的HTML模式来获取HTML标签。