我希望我的正则表达式找到一个网址,能够把它变成一个html林克。那个regex将用于如下所示的链接:网址:www.site.extension和https://site.extension。正则表达式是\S*。?w{3}.\S+.\S+并且它在使用https://regexr.com/时确实给出了所需的结果。然而,当我使用python脚本时,得到的结果与期望的相反,因此所有不是链接的内容都会被视为是链接,但是没有找到链接。在
python代码是:
testbestand = """TESTBESTAND
Div1 kjaskdjfiudhgjnkcvdnbk djskj ij g ijg jkdfnbdiiji jj iikdafnbn ojedfkj giqw34
Akdjfkjasdf
Div2 aksjdfkj sadfkjg sdkjiew kvckjeri cdkj sdkeridk erkire
Div3 kajkdjfkjakdjgsdghijskdg
Div 4 www.link.com
Div5
Table Left Table Right
Table Left 2 Table Right 2
Table Left 3 Table Right 3
"""
fileContent = testbestand
toAddToFile = ""
#find links
pattern = re.compile(r'\S*\.?w{3}\.\S+\.\S+')
matches = re.split(pattern, fileContent)\
for match in matches:
match = match.strip()
if len(match) > 0:
#TODO change to 'edit' file, instead of adding to it
test = """<a href=" """ + match + """>" """ + match + "</a>"
print(test)
toAddToFile += """<a href=" """ + match + """>" """ + match + "</a>"
提前感谢您的帮助!如果需要更多的信息或代码,我会立即提供。在
您应该使用
re.sub
而不是re.split
:这是因为您使用了
re.split
,它被设计成在模式的处分割文本。相反,使用`关于芬德尔公司名称:相关问题 更多 >
编程相关推荐