'daki satırın başlangıcını eşleştirmek için^kullanarak, yayın yıllarını Thomson-Reuters Web of Science'dan ISI stili verileri ayıklamaya çalışıyorum.Python regex
import re
f = open('savedrecs.txt')
wosrecords = f.read()
def findyears():
result = re.findall(r'PY (\d\d\d\d)', wosrecords)
print result
findyears()
Bu: Ben şu regex fonksiyon tanımladıysanız yazıyorum script
PY 2015
: "Yayın Yılı" için çizgi (bir satırın başında) şöyle Ancak, yanlış pozitif sonuçlar verir, çünkü model verilerde başka bir yerde görünebilir.
Bu nedenle, yalnızca bir satırın başında deseni eşleştirmek istiyorum. Normalde bu amaç için ^
kullanırım, ancak sonuçlarımı eşleştirmek için r'^PY (\d\d\d\d)'
başarısız olur. Öte yandan, \n
kullanmak istediğimi yapıyor gibi görünüyor, ancak bu benim için daha fazla komplikasyonlara yol açabilir.
['re.MULTILINE'] kullanın (http s: //docs.python.org/2/library/re.html#re.MULTILINE) '^' semantiklerini değiştirmek için: re.findall (r '^ PY (\ d \ d \ d \ d)' , wosrecords, re.MULTILINE) – Amadan
Teşekkür ederim Amadan! Bu benim problemimi çözdü. – chrisk