Я пробовал сопоставлять слова, включая букву «ab» или «ba», например. «ab», f «ab» rics, pro «ba». Я придумал следующее регулярное выражение:python regex соответствие словам «ab» или «ba»
r"[Aa](?=[Bb])[Bb]|[Bb](?=[Aa])[Aa]"
Но он включает в себя слова, которые начинаются или заканчиваются», (,),/.... не буквенно-цифровые символы Как я могу удалить его, я просто хочу.? чтобы соответствовать списку слов.
import sys
import re
word=[]
dict={}
f = open('C:/Python27/brown_half.txt', 'rU')
w = open('C:/Python27/brown_halfout.txt', 'w')
data = f.read()
word = data.split() # word is list
f.close()
for num2 in word:
match2 = re.findall("\w*(ab|ba)\w*", num2)
if match2:
dict[num2] = (dict[num2] + 1) if num2 in dict.keys() else 1
for key2 in sorted(dict.iterkeys()):print "%s: %s" % (key2, dict[key2])
print len(dict.keys())
Здесь, я не знаю, как смешивать его с «re.compile» ~~ метод, который первый комментарий сказал ...
Учителя должны перестать говорить, что регулярные выражения являются решением любой проблемы, известной человечеству ... – 3442
@KemyLand: Это должен быть принятый ответ :) – Jan