我正在尝试从 imdb 数据集( https://www.imdb.com/interfaces/ )中查找一些电影。如果我知道标题中每个单词的第一个字符,但不知道实际的标题怎么办?例如,我知道电影标题中每个单词的第一个字母是 A、M、A、T、W。这部电影恰好是《蚁人2:黄蜂女现身》。我使用以下正则表达式来查找电影:re.search('A[a-z]*M[a-z]*A[a-z]*T[a-z]*W', primaryTitle, re.IGNORECASE)但搜寻并没有带回《蚁人2:黄蜂女现身》。这些是我的搜索结果:G�sgen - Ein Film �ber die Volksbewegung gegen AtomkraftwerkeAtomkraftwerk KahlSthree Samathwam Olakkeda mooduTschingis Aitmatow - SchriftstellerDawid Podsiadlo: MalomiasteczkowyYouTube's Akilah Hughes on #BlackWomenAtWork & Feeding the BuzzNatsumi hinamatsuriwo mamore dearimasu/Keroro afuro demyaon dearimasuAmericatownWelcome to ShamatownDas Ding am Deich - Vom Widerstand gegen ein AtomkraftwerkAmericatownPalomatownHeimarbeit und Nebenverdienst/Automatenschwindelei/Nachlassschwindel/Experiment: Falschgeld#andhiroshimaithoughtweweregoingtohavesomefunBLACKMAGIC Cinema Camera (Diamaltwerke)Travis Brasher and Ryan Ellis of TravisMathewDiamantenwirbel我打开了一个包含正则表达式详细信息的选项卡,我一遍又一遍地查看它,但我似乎无法确定我的正则表达式如何无法正常工作。仅供参考,这是我的整个代码:import csvimport rewith open('data.tsv', encoding='utf8') as titles: titleReader = csv.reader(titles, delimiter='\t') for title in titleReader: primaryTitle = title[2] if re.search('A[a-z]*M[a-z]*A[a-z]*T[a-z]*W', primaryTitle, re.IGNORECASE): print (primaryTitle)
1 回答
慕田峪9158850
TA贡献1794条经验 获得超7个赞
对于该示例字符串,您可以考虑到后面的内容A[a-z]*
可以是[ -]
使用另一个字符类的空格或连字符。
A[a-z]*[ -]M[a-z]*[ -]a[a-z]*[ -]t[a-z]*[ -]W[a-z]*
添加回答
举报
0/150
提交
取消