【问题标题】:Regex expression returns nothing. Why? [duplicate]正则表达式不返回任何内容。为什么? [复制]
【发布时间】:2013-08-18 01:19:47
【问题描述】:

这什么都不返回?

# Enter your code for "Image Extractor" here.
import re
with open('site.html') as html:
    content = html.read()
    content = str(content)
    print(re.findall(r'<ima?ge?\s+[^>]*?src=["|\']([^["|\']]+)', content))

我认为这与我从表达式中转义反斜杠有关...

【问题讨论】:

  • content 的值是多少?
  • 您是否有尝试匹配的文本示例?

标签: python regex python-3.x escaping


【解决方案1】:
[^["|\']]

我不确定你想要这个做什么。您不能嵌套字符类或使用| 在字符类中进行交替。按照您现在的方式,此部分匹配不属于以下之一的任何字符:

[
"
|
'

后跟文字]。如果您希望这是一个匹配除单引号或双引号之外的任何内容的单字符类,您想要

[^"\']

【讨论】:

    猜你喜欢
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多