首页 > 解决方案 > Python 正则表达式

问题描述

如果有人能解释我的正则表达式有什么问题,我将不胜感激。我在正则表达式生成器上尝试过它工作正常,但是在我的笔记本电脑上编译时它打印出无。我得到了一个 html 链接,我想确定它的 href(reference)Here is the regex

r"(?<=\=\").{1,}(?=\W+?\s[t])"

例子:

<li id="n-mainpage-description"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z">Main page</a></li>

错误:

标签: pythonregex

解决方案


您可以使用否定的lookbehind 来获取href 的内容:

(?<=href=\")[^\"]+
  • (?<=href=\")- 确保href="在我当前位置之前
  • [^\"]+- 捕获不是双引号的所有内容

https://regex101.com/r/NDVDNB/1


推荐阅读