我有以下regex:
r'\d.\s(.*)\sשנה.*.docx'
这适用于像1. בראשית שנה א_ - הבדלה על קפה.docx这样的标题但不适用于10. מקץ שנה א_ - פדיון שבויים.docx有什么帮助吗?
1. בראשית שנה א_ - הבדלה על קפה.docx
10. מקץ שנה א_ - פדיון שבויים.docx
ni65a41a1#
您在10.中缺少一个数字,因为\d.\s匹配一个数字,然后是一个除换行符之外的任何字符,然后是一个空格字符。如果你想保留捕获组,你可以让点星星不贪婪,转义点来匹配它们,并使用单词边界\b来防止部分单词匹配:
10.
\d.\s
\b
\b\d+\.\s+(.*?)\s+שנה.*?\.docx\b
Regex demo
1条答案
按热度按时间ni65a41a1#
您在
10.
中缺少一个数字,因为\d.\s
匹配一个数字,然后是一个除换行符之外的任何字符,然后是一个空格字符。如果你想保留捕获组,你可以让点星星不贪婪,转义点来匹配它们,并使用单词边界
\b
来防止部分单词匹配:Regex demo