2 回答

TA貢獻1802條經驗 獲得超5個贊
如果我理解正確,您想在文本中找到用單詞寫的數字lyrics
。由于 RegEx 無法理解一個單詞,因此您需要先解決該問題。為此,您可以:
創建從單詞到數字的映射
在文本上應用映射
在新文本上使用正則表達式,以獲取數字
樣本
import re
# mapping
word_digit_map = {
"one": 1,
"two": 2,
"three": 3,
"four": 4,
"five": 5,
"six": 6,
"seven": 7,
"eight": 8,
"nine": 9,
"ten": 10,
"eleven": 11,
"twelve": 12,
}
lyrics = '''Twelve drummers drumming, eleven pipers piping
Ten lords a leaping, nine ladies dancing, eight maids a milking
Seven swans a swimming, six geese a laying, five gold rings
Four calling birds, three French hens
Two turtle doves and a partridge in a pear tree
'''
# apply mapping
for word in word_digit_map.keys():
lyrics = lyrics.lower().replace(word, str(word_digit_map[word]))
# Use regex
xmasReExp = re.compile(r'\d+')
print(xmasReExp.findall(lyrics))
出去
['12', '11', '10', '9', '8', '7', '6', '5', '4', '3', '2']
添加回答
舉報