我将使用什么JavaScript正则表达式来发现字符串包含打开的HTML标记而不是关闭的HTML标记?

我将使用什么JavaScript正则表达式来发现字符串包含打开的HTML标记而不是关闭的HTML标记?,javascript,regex,Javascript,Regex,我将使用什么JavaScript正则表达式来发现字符串包含打开的HTML标记而不是关闭的HTML标记。例如: var tags = ['h1', 'div', 'span']; // tag to look for var str1 = 'lorem ipsum <h1>hello world'; // here it is! var str2 = 'boo foo 123 test'; // this one doesn't have any var str3 = '<

我将使用什么JavaScript正则表达式来发现字符串包含打开的HTML标记而不是关闭的HTML标记。例如:

var tags = ['h1', 'div', 'span']; // tag to look for

var str1 = 'lorem ipsum <h1>hello world'; // here it is!

var str2 = 'boo foo 123 test'; // this one doesn't have any

var str3 = '<span>boo-boo</span>'; // this has the tags but it is not the case as we only need the ones that have open tags and not close tags.
var标记=['h1','div','span'];//要查找的标签
var str1=‘lorem ipsum hello world’;//给你!
var str2=‘boo foo 123测试’;//这个没有
var str3='boo boo';//这有标签,但事实并非如此,因为我们只需要有打开标签而不是关闭标签的标签。
你。跟踪打开/关闭标记对需要a,正则表达式是a,它没有堆栈。

。跟踪打开/关闭标记对需要,正则表达式是,没有堆栈。

'(\]+\>)'
'(\<(/?[^\>]+\>)'
此表达式用于HTML标记。

'(\]+\>)'

此表达式用于HTML标记。

使用正则表达式解析HTML可能会产生有问题的结果;正则表达式不能递归地匹配平衡对(尽管某些版本,但不是JavaScript,具有使这成为可能的扩展)。要正确地执行此操作,您需要一个正确的解析器。。。假设您讨论的是客户端JS,您可能希望在服务器上进行解析(出于性能和页面重量的原因)。这是一个简化的示例吗?您需要检查嵌套标记还是平面标记?它们可以有属性吗?用正则表达式解析HTML很可能会产生有问题的结果;正则表达式不能递归地匹配平衡对(尽管某些版本,但不是JavaScript,具有使这成为可能的扩展)。要正确地执行此操作,您需要一个正确的解析器。。。假设您讨论的是客户端JS,您可能希望在服务器上进行解析(出于性能和页面重量的原因)。这是一个简化的示例吗?您需要检查嵌套标记还是平面标记?它们可以有属性吗?