写出正则表达式,可以替换a标签href的值,全部变成#
时间: 2023-08-31 08:38:55 浏览: 88
### 回答1:
<a href="#">#</a>。
正则表达式:/<a\s+(?:[^>]*?\s+)?href=["'](?:[^"']++|[^"'])*["'][^>]*?>/gi
替换代码:str.replace(/<a\s+(?:[^>]*?\s+)?href=["'](?:[^"']++|[^"'])*["'][^>]*?>/gi, '<a href="#">#</a>');
### 回答2:
可以使用以下正则表达式来替换 a 标签的 href 值为 "javascript:void(0)":
```regex
<\s*a\s[^>]*\shref\s*=\s*["']([^"']*)["'][^>]*>
```
该正则表达式的含义如下:
- `<\s*a\s`:匹配 <a 开始标签的左尖括号后的空白字符和字母 a;
- `[^>]*`:匹配任意数量的非右尖括号字符,即可能存在的其他属性;
- `\shref\s*=\s*["']`:匹配空白字符、href、等号以及 href 值周围可能存在的空白字符和引号;
- `([^"']*)`:匹配 href 值,即引号内的内容,并将其捕获为第一个捕获组;
- `["']`:匹配结束的引号;
- `[^>]*>`:匹配剩余的可能存在的其他属性和右尖括号,即标签的结束部分。
然后,我们可以使用替换方法例如 `re.sub` 将 href 值替换为 "javascript:void(0)"。
以下是一个简单的示例代码:
```python
import re
html = '<a href="http://www.example.com">Link</a>'
pattern = r'<\s*a\s[^>]*\shref\s*=\s*["\']([^"\']*)["\'][^>]*>'
replacement = r'<a href="javascript:void(0)">'
new_html = re.sub(pattern, replacement, html)
print(new_html)
```
输出:
```
<a href="javascript:void(0)">Link</a>
```
在实际使用中,需要根据具体的文本结构和要求来进行调整,此处提供的仅为基本示例。