我正在尝试使用re
和python
来匹配一个简单的模式,但是我无法解决问题。
所以我必须匹配一个模式:
word.word
但不是例如
word.word.word
我当前的REGEX是[A-Za-z]+\.[A-Za-z]+
,并且都匹配(错误的),我也尝试过使用^$
包含 start 和 end 字符串,但不匹配任何一个。我做错了事,非常感谢您的帮助。谢谢
答案 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']