python - 如何在正则表达式中查看后面而不匹配模式本身?

标签 python regex

假设我们想要提取标签中的链接,如下所示:

输入:

<p><a href="http://www.google.com/home/etc"><b>some text</b></a></p>

期望的输出:

http://www.google.com/home/etc

第一个解决方案是使用此 href=[\'"]?([^\'">]+) 正则表达式查找引用匹配 但我想要实现的是匹配href后面的链接。所以尝试这个 (?=href\")... (前瞻断言:匹配而不消耗)仍然匹配 href 本身。

这只是一个正则表达式的问题。

最佳答案

许多基于正则表达式的解决方案之一是捕获组:

>>> re.search(r'href="([^"]*)"', s).group(1)
'http://www.google.com/home/etc'

[^"]* 匹配任何非“的数字。

关于python - 如何在正则表达式中查看后面而不匹配模式本身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46753989/

相关文章:

python - 使用正则表达式(在 python 中)获取数学表达式(单个字母、数字、方程...)

python - 如何向谷歌应用引擎中设置为 'login:admin' 的 url 发送请求?

Python:函数中调用的尚 undefined variable - 但有效吗?

python - 值错误 : A ELE probability distribution must have at least one bin

python - 在 Python Regex 中指定目录作为输入

java - 如何删除java中两个单词之间除下划线之外的所有特殊字符?

c# - 使用 Regex.Replace 保留可以变化的字符

python - numpy sum 不同意

regex - 如何构建不允许在字符串中任何位置使用 &(与号)字符的正则表达式

python - 从字符串中提取2组数字