2024-09-29 06:30:58 发布
网友
我正在使用Beautuly soup查找所有href标记。在
links = myhtml.findAll('a', href=re.compile('????'))
我需要找到所有在href文本中有'abc123'的链接。在
我需要正则表达式的帮助,明白吗???在我的代码片段中。在
"abc123"应该给你想要的
"abc123"
如果这不起作用,than BS可能正在使用re.match,在这种情况下,您需要".*abc123.*"
re.match
".*abc123.*"
如果你想要所有的链接都是“abc123”,你可以简单地把:
links = myhtml.findAll('a', href=re.compile('abc123'))
如果'abc123'是您想要搜索的内容,在href中的任何地方,那么其他答案所建议的{}是正确的。如果要匹配的实际字符串包含标点符号,例如'abc123.com',请改用
'abc123'
href
'abc123.com'
re.compile(re.escape('abc123.com'))
re.escape部分将“转义”任何标点符号,这样它就可以按字面意思理解,就像字母数字一样;没有它,一些标点符号会被RE的引擎以各种方式解释,例如上面例子中的点('.')将被视为“任何单个字符”,因此re.compile('abc123.com')将匹配,例如'abc123zcom'(以及许多其他类似性质的字符串)。在
re.escape
'.'
re.compile('abc123.com')
'abc123zcom'
"abc123"
应该给你想要的如果这不起作用,than BS可能正在使用
re.match
,在这种情况下,您需要".*abc123.*"
如果你想要所有的链接都是“abc123”,你可以简单地把:
如果}是正确的。如果要匹配的实际字符串包含标点符号,例如
'abc123'
是您想要搜索的内容,在href
中的任何地方,那么其他答案所建议的{'abc123.com'
,请改用re.escape
部分将“转义”任何标点符号,这样它就可以按字面意思理解,就像字母数字一样;没有它,一些标点符号会被RE的引擎以各种方式解释,例如上面例子中的点('.'
)将被视为“任何单个字符”,因此re.compile('abc123.com')
将匹配,例如'abc123zcom'
(以及许多其他类似性质的字符串)。在相关问题 更多 >
编程相关推荐