我猜你可能只是想在你的表达式中添加单词边界,还有
+
好像不见了:
\s\b[0-9]+-[0-9]+\b
但不确定。
测试
import re
l = [' 525-11 Prof.Dr.F.J.A.Kreuzer, Nijmegen onderzoek met betrekking tot de fysiologie van ademhaling en bloedsomloop op grote hoogte 17.500\n',
' 527-7 Dr.G.Buyze, Utrecht onderzoek naar het kopermetabolisme bij geesteszicken s 9.400\n',
' 527-8 Prof. Dr. Elisabeth P.Steyn Parv\xc3\xa9, Utrecht onderzoek naar de betekenis van thiaminc voor de synthese van vetzuren in het dierlijk lichaam s 5.400\n',
' 532-7 Dr.J.K. Sch\xc3\xb6nfeld, Rotterdam onderzoek over de rol van de L-fase van bacteri\xc3\xabn bij chronische en recidiverende ziekten (1962) f 3.100\n',
' 532-8 A.G.Schuitemaker, Heiloo onderzoek naar het lytisch vermogen van bacteriofagen voor mycobacteri\xc3\xabn f 2.000\n',
' 542-13 Dr.B.Leijnse en Dr.H.M. van Praag, Rotterdam bestudering van het werkingsmechanisme van de anti-depressieve hydrazinen, in bio chemisch en psychiatrisch-psychologisch opzicht f 16.000\n',
' 547-7 Dr.H.K.A. Visser, Groningen onderzoek over de werking van het antidiuretische hormoon en de regulatie van de centrale afgifte van dit hormoon gedurende de kinderleeftijd (1962) s 9.600\n',
' 548-4 Dr.F.Schwarz, Utrecht onderzoek naar de invloed van Exophthalmos Producing Substance op bindweefsel s 13.000\n',
' 562-8 Prof. Dr.J.Droogleever Fortuyn, Groningen onderzoek naar bouw en functie van de middenhersenen (1960-1962) f 13.100\n',
' '
]
regex = r"(\s\b[0-9]+-[0-9]+\b)"
subst = "\\1\\n"
for index,item in enumerate(l):
l[index] = re.sub(regex, subst, item)
print(l)
输出
['525-11\n教授F.J.A.Kreuzer,Nijmegen onderzoek met betrekking
范阿德姆哈林酒店
17.500\n','527-7\n Buyze博士,Utrecht onderzoek naar het kopermetabolisme bij geesteszicken s 9.400\n','527-8\n教授。
Elisabeth P.Steyn Parv,乌得勒支onderzoek naar de betekenis van
蒂亚明·沃德·辛瑟斯·范·维特祖伦
5.400\n','532-7\n Dr.J.K.SchÃ131; nfeld,鹿特丹onderzoek over de rol van de L-fase van bacteriÃ
ziekten(1962)f 3.100\n','532-8\n A.G.Schuitemaker,海洛
onderzoek naar het lytisch vermogen van细菌学
分枝杆菌素f 2.000,542-13
鹿特丹普拉格最佳范赫特范德
生物化学中的抗抑郁肼
精神病学心理学家opzicht f 16.000\n','547-7\n Dr.H.K.A。
维瑟,格罗宁根·昂德佐克,在德韦金·范赫特·安蒂乌雷蒂街
管理中心管理中心
gedurende Kindereleftijd(1962)第9.600节,第548-4节
F.Schwarz博士,乌得勒支onderzoek naar de invloed van眼球突出症
生产物质op bindweefsel s 13.000\n','562-8\n Prof。
Dr.J.Drooglever Fortuyn,Groningen onderzoek naar bouw en functie博士
范德米登赫森恩(1960-1962)f 13.100,'''
表达式在
regex101.com
,如果您希望浏览/简化/修改它,则在
this link
,如果愿意的话,可以查看它与一些示例输入的匹配情况。