使用JavaScript正则表达式删除HTML标记

使用JavaScript正则表达式删除HTML标记,javascript,regex,Javascript,Regex,我不熟悉正则表达式,正在尝试创建不同的正则表达式来练习这样做。我的问题是,如何使用正则表达式从页面的某个部分删除所有HTML标记?例如,如果我有以下代码段: <p>Hello, <b>my</b> name is <a href="#">Aaron</a></p> 你好,我的名字是 我将如何删除所有标记,以便我的结果是: 你好,我叫亚伦 到目前为止,我已尝试使用以下方法: /<{1}[a-zA-z]

我不熟悉正则表达式,正在尝试创建不同的正则表达式来练习这样做。我的问题是,如何使用正则表达式从页面的某个部分删除所有HTML标记?例如,如果我有以下代码段:

    <p>Hello, <b>my</b> name is <a href="#">Aaron</a></p>
你好,我的名字是

我将如何删除所有标记,以便我的结果是: 你好,我叫亚伦

到目前为止,我已尝试使用以下方法:

    /<{1}[a-zA-z]+>{1}/ and /</{1}[a-zA-z]+>/ 
/{1}/和//

尝试获取不同的标签,但当我尝试运行它时,我只获取第一个标签作为结果

嗯,您不能保证HTML中的任何内容,因此这可能就足够了:

alert('<p>Hello, <b>my</b> name is <a href="#">Aaron</a></p>'.replace(/<.*?>/g,"")); 
alert(“你好,我的名字是”

”。替换(//g,”);
它使用正则表达式
,它匹配之间的所有内容,包括它们本身,并用空字符串替换它们


使用正则表达式解析HTML是一个坏主意,除非您是出于学习目的

关于使用正则表达式解析html的所有免责声明:

result = subject.replace(/<[^>]*>/g, "");
result=subject.replace(/]*>/g,”);
  • ]*
    匹配任何非右大括号的字符
  • 匹配右大括号
  • 我们将替换为空字符串

老实说,正则表达式做这样的事情很糟糕,相反,使用浏览器附带的DOMParser工具。对于实践和学习,我认为这是很棒的,但请记住,在生产中这样做是幼稚和脆弱的。希望这有帮助。让我们看看你尝试了什么。是的。。。即使你得到了一个答案,如果你能展示你所做的尝试,那么其他人也能看到你被困的地方并从中学习,那将是一件很棒的事情。把它看作是作为提问者回馈堆栈溢出的一种方式。希望这有帮助。@MauricePerry-我喜欢那篇文章!我没想到会把它联系起来。。。令人惊叹的!