.*?位置不同的求解
求解,为什么二个.*?放置在<>里面和外面有什么区别么,谢谢大家obj1=re.compile(r'欧美电影下载排行.*?<ul>(?P<url>.*?)</ul>',re.S)
obj1=re.compile(r'欧美电影下载排行.*?<ul>(?P<url>).*?</ul>',re.S) 这是命名分组。
(?P<url>)表示匹配成功时将括号中的内容所在分组命名为url(这么写的话不匹配任何内容)
按照你的要求 (?P<url>.*?) 这么写才对的。
<ul>(?P<url>.*?)</ul>匹配ul标签中的innerText,并在结果中将其单独分组并命名为url。 兮夜123 发表于 2021-4-8 12:22
这个是算通配符么
怎么说呢,算,通配符。
只不过在word或其他语言里叫通配符。
正则里叫表达式,意思差不多。只不过是懒惰匹配。
你这个要问.*? 感觉是没什么含义,其主要差距在括号的范围 命名还有代.*?的, 不应该呀。
还是我学的太少。
(正则新手,望各位大佬勿喷) socona 发表于 2021-4-8 12:08
这是命名分组。
(?P)表示匹配成功时将括号中的内容所在分组命名为url(这么写的话不匹配任何内容)
按照 ...
好像有点点明白了,谢谢 xiaobaobei2020 发表于 2021-4-8 11:53
命名还有代.*?的, 不应该呀。
还是我学的太少。
(正则新手,望各位大佬勿喷)
这个是算通配符么 看到正则就眼花的。你用正则工具测试几下么不就好了。 本帖最后由 人云亦云yi 于 2021-4-8 13:22 编辑
我最近刚看了正则,看完就忘了大半{:301_971:} 搂着这个例子和.*?是没关系的,重点是() 的问题。 正则中有() 则是匹配()里面的内容。 xiaobaobei2020 发表于 2021-4-8 11:53
命名还有代.*?的, 不应该呀。
还是我学的太少。
(正则新手,望各位大佬勿喷)
你可以看看贪婪匹配和懒惰匹配{:1_887:}
页:
[1]
2