REGEX匹配简单模式

时间:2019-06-27 07:22:26

标签: python regex

我正在尝试使用repython来匹配一个简单的模式,但是我无法解决问题。

所以我必须匹配一个模式:

word.word

不是例如

word.word.word

我当前的REGEX是[A-Za-z]+\.[A-Za-z]+,并且都匹配(错误的),我也尝试过使用^$包含 start end 字符串,但不匹配任何一个。我做错了事,非常感谢您的帮助。谢谢

2 个答案:

答案 0 :(得分:0)

re.match('^[A-Za-z]+\.[A-Za-z]+$', 'word.word') # return result
re.match('^[A-Za-z]+\.[A-Za-z]+$', 'word.word.word') # return None

答案 1 :(得分:0)

要在文本中匹配2个单词的序列(与.结合并且仅包含字母):

(还要考虑可以在序列后加上.指向句子的结尾)

import re

test_str = 'some text word.word2.word3 with word.word and text with 1www.wewe11 and wordA.wordB.'
words = re.findall(r'(?<!\.)[a-z]+\.[a-z]+\b(?=[^\.]|\.?$)', test_str, re.I)

print(words)

输出:

['word.word', 'wordA.wordB']