s_l = ["春天年初, ...","1999年", "很多年以前"]
for front_part in s_l:
idx_year = re.search(r'[\d]*[年]{1}[初末底前]{0,1}',front_part).end() \
if re.search(r'[\d]*[年]{1}[初末底前]{0,1}',front_part) else 0
print(idx_year)
我想搜索包含年
的子字符串的idx,同时,在年
or [初末底前]
(符号B)后面必须有数字(符号A)年例如,在s_l中,它应该返回4,5,0
一个划分正则表达式的 idea ,比如
re.search(r'[\d]+[年]{1}',front_part) or re.search(r'[年]{1}[初末底前]{0,1}',front_part)
但它太复杂了,另一个使用(?=...)
,但我不知道如何使用它,有什么建议吗?