正则匹配 去除html标签
时间: 2023-07-04 11:17:03 浏览: 160
可以使用正则表达式来去除 HTML 标签。下面是一个使用 Python 语言的例子:
```python
import re
def remove_html_tags(text):
clean = re.compile('<.*?>')
return re.sub(clean, '', text)
# 示例用法
html_text = '<p>这是一个带有 <a href="#">链接</a> 和 <strong>粗体</strong> 的段落。</p>'
print(remove_html_tags(html_text)) # 输出:这是一个带有 链接 和 粗体 的段落。
```
该函数会使用正则表达式 `<.*?>` 匹配所有的 HTML 标签,并将其替换为空字符串。
相关问题
正则匹配 去除p标签中所有属性
您好!如果您想要使用正则表达式去除 p 标签中的所有属性,可以尝试使用以下正则表达式:
```python
import re
html = '<p class="my-class" id="my-id">Hello, world!</p>'
pattern = re.compile(r'<p.*?>')
result = pattern.sub('<p>', html)
print(result) # 输出:<p>Hello, world!</p>
```
这个正则表达式将匹配所有 `<p>` 标签,然后使用 `sub` 方法将标签中的所有属性去除,只保留标签名称和标签内容。
如果您的 HTML 中还有其他标签需要去除属性,可以使用类似的正则表达式,只需要将匹配的标签名称改为相应的名称即可。
java 正则匹配 去除p标签中所有属性
可以使用正则表达式和Java中的replaceAll()方法将p标签中的属性去除。以下是示例代码:
```java
String input = "<p class=\"test\" style=\"color:red;\">This is a paragraph.</p>";
String output = input.replaceAll("<p\\s+[^>]*>", "<p>"); // 匹配<p>标签中的所有属性并替换为空
System.out.println(output);
```
输出结果为:
```html
<p>This is a paragraph.</p>
```
解释一下正则表达式:`<p\\s+[^>]*>`匹配以`<p`开头,后面跟着一个或多个空白字符(包括空格、制表符、换行符等),然后跟着任意数量的非`>`字符(即p标签中的属性),最后以`>`结尾的字符串。`[^>]*`表示非`>`字符的任意数量。然后使用空字符串替换匹配到的字符串,即删除p标签中的所有属性。
阅读全文