创建RegEx来查找此类字符串?

时间:2019-05-22 18:01:21

标签: regex python-3.x

我是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'

它也会影响其他短路器。仍然抓挠我的头。

1 个答案:

答案 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"

在正则表达式中,点与任何字符匹配。转义它们会使它们与文字点匹配。