×
全部 > AI技术 > AI编程 > AI代码生成 > 生成提取HTML链接的正则表达式

生成提取HTML链接的正则表达式

claude3.5 sonnet 20240620(Anthropic)

## 正则表达式 ```regex <a\s+href=["']([^"']+)["'] ``` ## 捕获逻辑说明 1. **`<a\s+href=`**: 匹配以 `<a href=` 开头的字符串,其中 `\s+` 表示一个或多个空格。 2. **`["']`**: 匹配引号,可以是双引号 `"` 或单引号 `'`。 3. **`([^"']+)`**: 捕获组,匹配引号内的内容。`[^"']+` 表示匹配一个或多个不是引号的字符,这样可以提取出 URL。 4. **`["']`**: 再次匹配引号,确保 URL 的结束。 ## 使用指导 - 使用此正则表达式时,可以在支持正则表达式的编程语言或工具中应用。 - 提取到的 URL 将位于捕获组 1 中,可以通过相应的编程语言的正则表达式库来访问。例如,在 Python 中,可以使用 `re` 模块的 `findall` 或 `search` 方法来提取匹配的 URL。

通义千问2.5-Coder-14B(阿里云百炼)

```markdown # 正则表达式 ``` <a\s+href=["']([^"']+)["'].*?</a> ``` # 捕获逻辑说明 1. `<a\s+href=["']([^"']+)["'].*?</a>` 是一个用于从HTML中提取超链接的正则表达式。 - `<a\s+href=["']` 匹配以 `<a` 开头,后面可以有任意数量的空白字符 `\s*`,然后是 `href=`,接着是一个引号(单引号或双引号)`["']`。 - `([^"']+)` 是一个捕获组,用于捕获引号内的所有字符,这些字符是超链接的URL。`[^"']+` 表示匹配除引号以外的所有字符,`+` 表示匹配一次或多次。 - `["'].*?</a>` 匹配引号和后续的所有字符,直到遇到 `</a>` 标签结束。`.*?` 是非贪婪匹配,尽可能少地匹配字符,直到找到第一个 `</a>`。 2. 使用方法: - 将上述正则表达式应用到HTML文本中,通过正则引擎的搜索功能,可以提取出所有的超链接URL。 - 在编程语言中,例如Python,可以使用 `re.findall` 函数来提取所有匹配的URL: ```python import re html_text = '... (your HTML content here) ...' pattern = r'<a\s+href=["\']([^"\']+)["\'].*?</a>' urls = re.findall(pattern, html_text) print(urls) ``` - 这将返回一个包含所有提取URL的列表。 ```

gpt-4.1(OpenAI)

```markdown ## 正则表达式 ```regex <a\s+[^>]*href=["']([^"']+)["'] ``` ## 捕获逻辑说明 1. `<a\s+[^>]*href=["']` 匹配以`<a`开头,后跟一个或多个空白字符,加上任何非`>`的内容,直到出现`href=`,属性值可以用双引号或单引号包裹。 2. `([^"']+)` **第1个捕获组**:匹配并捕获`href`属性内的URL内容(不包括引号),即提取出来的URL字符串。 3. `["']` 匹配href属性结束的引号。 ### 提取方式 - 使用支持正则的提取工具或语言(如Python的re模块、JavaScript的RegExp等),提取所有`第1个捕获组`内容,即可获得HTML中所有`<a href="...">`中的URL。 #### 示例用法(Python) ```python import re html = '示例HTML代码' pattern = r'<a\s+[^>]*href=["\']([^"\']+)["\']' urls = re.findall(pattern, html) ``` - 变量`urls`即为所有捕获到的URL列表。 ```

DeepSeek V3(Deepseek)

```markdown ### 正则表达式 ```regex <a\s+href="([^"]*)"[^>]*> ``` ### 捕获逻辑说明 1. **整体匹配**:匹配完整的`<a href="...">`标签结构 - `<a` 匹配标签开始 - `\s+` 匹配1个以上空白字符(包括空格/制表符等) - `href="` 匹配属性名和开引号 2. **捕获组`([^"]*)`**: - `[^"]*` 匹配除双引号外的任意字符(即URL内容) - 圆括号`()`形成捕获组,可单独提取该部分 3. **后续处理**: - `"[^>]*>` 确保匹配到属性值闭引号和标签结束符 ### 使用指导 1. 在Python中提取示例: ```python import re html = '<a href="https://example.com">Link</a>' urls = re.findall(r'<a\s+href="([^"]*)"[^>]*>', html) # 结果: ['https://example.com'] ``` 2. 特殊情形处理: - 若需包含单引号属性:改用`<a\s+href=['"]([^'"]*)['"]` - 若需排除空链接:改用`<a\s+href="([^"][^"]*)"` ```

模型名称 模型提供商 响应总时长(s) 生成 token 数 首 token 延迟(s) 生成速率(tokens/s)
5.81
响应最快
0
1.94
0
9.05
371
内容最多
0.38
延迟最小
40.98
5.85
328
2.21
56.09
速度最快
21.31
321
4.91
15.06
AI文本生成
38家服务商提供服务
AI深度推理
11家服务商提供服务
AI代码生成
11家服务商提供服务
AI数学模型
10家服务商提供服务