我有一個定義的模板隨意組合的句子的所有組合:創建一個從正則表達式
I like dogs/cats
I want to eat today/(the next day)
我試圖用一個正則表達式:
m = re.search(r'(?P<list>[A-Za-z]+/([A-Za-z]+)+)', sentence)
words = m.group('list').split('/')
combs = [comb for comb in [sentence.replace(m.group('list'), w) for w in words]]
對於第一句話我得到['i like dogs', 'i like cats']
這是我想。對於第二句,re.search
返回None
。我想得到的是['I want to eat today', 'I want to eat the next day']
。
我該如何改變正則表達式?
號今天吃飯/(第二天)'我想創造兩個句子:'''我今天想吃','我想第二天吃']'。因此,我需要找到「今天」和「第二天」。 – user1406177
使用此工具https://regex101.com/希望我在開始時擁有它。我發現編寫完美正則表達式的最好方法就是使用這個工具...你會很快拿起正則表達式。將你要搜索的文本粘貼到最大的盒子中,然後在上面的小方框中寫上你的「正則表達式」。自動文本將根據您的正則表達式突出顯示。在右下角你可以閱讀定義,右上角告訴你爲什麼選擇了東西。 –