我试图删除一段文本中的所有引用 - 它们包含在括号中。因此,最简单的事情是一致删除括号中的所有内容...但是括号中的某些内容很重要,例如方程式...因此,我想我可以删除所有成本' et al。'的括号,但并非所有参考文献都有一个。谁能告诉我谁使用python表达式来区分格式'>>的方程式和参考(作者[可能[可能的],年)'
一致删除括号中包含内容的示例:
file=open("polymer_model.txt", "r")
mystring = file.read()
def a(test_str):
ret = ''
skip = 0
for i in test_str:
if i == '(':
skip += 1
elif i == ')'and skip2c > 0:
skip -= 1
elif skip == 0:
ret += i
return ret
x = a(mystring)
尝试删除所有括号中包含的内容的示例,其中包括:
x=re.sub(r'(w+ et al.)s?','',x)
假定平均扭曲能量等于(1/2)KT ,我们也有 TEFF =(C/KL)。(RMSD(TW))2 (Munteanu等,1998; Olson,1996; Olson and Zhurkin,2000)。但是,根据其他偏爱方程的研究,该模型有些基本。
应该是:
假定平均扭曲能量等于(1/2)kt,我们也有teff =(c/kl)。(rmsd(tw))2。但是,根据其他偏爱方程的研究,该模型有些基本。
我会尝试以下正则言论:
([A-Z]w+[^)]+?, (18|19|20)[0-9]{2})
- (支架char
- [A-Z] 作者应从Capitale Letter 开始
- w 作者的其余名称
- [^)] ?除了关闭括号以外的其他所有内容
- ,(19 | 20)[0-9] {2} 逗号,其次是一年。如果您在1900年之前发布了书籍,则必须添加年
- )支架char
,但这只是一个很好的猜测。可能会有一个与此正则表达式匹配或不匹配的报价匹配的。但是我认为, year
-部分在大多数情况下都应该这样做。
您可以在这里尝试更多示例:https://regex101.com/r/akmfdr/2