我是python中的RegEx的新手。我创建了一个RegEx公式,该公式应该从文本中找到一些特殊的字符串,但是不能正常工作;
def find_short_url(str_field):
search_string = r"moourl.com|ow.ly|goo.gl|polr.me|su.pr|bit.ly|is.gd|tinyurl.com|buff.ly|bit.do|adf.ly"
search_string = re.search(search_string, str(str_field))
result = search_string.group(0) if search_string else None
return result
它应该从文本中找到所有URL缩写。但是su.pr
正在从文本中检测到多余。有什么办法可以解决?
find_short_url("It is a surprise that it is ...")
输出
'surpr'
它也会影响其他短路器。仍然抓挠我的头。
答案 0 :(得分:1)
转义点:
search_string = r"moourl\.com|ow\.ly|goo\.gl|polr\.me|su\.pr|bit\.ly|is\.gd|tinyurl\.com|buff\.ly|bit\.do|adf\.ly"
在正则表达式中,点与任何字符匹配。转义它们会使它们与文字点匹配。