我正在尋找匹配特定模式的字符串中的單詞。 問題是,如果單詞是電子郵件地址的一部分,則應該忽略它們。正則表達式 - 匹配模式中的單詞,電子郵件地址除外
爲了簡化「合適詞」\w+\.\w+
的模式 - 一個或多個字符,一個實際時段和另一系列字符。
導致問題的句子例如是a.a b.b:c.c [email protected]
。
目標是僅匹配[a.a, b.b, c.c]
。在我構建的大多數正則表達式中,e.e
也會返回(因爲我使用了一些字邊界匹配)。
例如:
>>> re.findall(r"(?:^|\s|\W)(?<[email protected])(\w+\.\w+)([email protected])\b", "a.a b.b:c.c [email protected]") ['a.a', 'b.b', 'c.c', 'e.e']
我怎麼能只匹配中不包含 「@」 的話呢?
而不是試圖得到一個聰明的正則表達式,可能首先清理字符串?第一條帶\ w + @ \ w +然後處理。我使用python完成了大量的ETL工作,而且通常清理垃圾,然後拆分/處理數據更容易/更快。 – sniperd
http:// www。rexegg.com/regex-best-trick.html#thetrick –