2009-02-21 44 views
2

我需要一個匹配APA格式引用的正則表達式。匹配APA參考格式的Ruby正則表達式

目前,我有這樣的:

/([A-Z][a-zA-Z\-\:\'\s\´]{3,}\, ([a-zA-Z]\.[\s|,|.]| &?){1,}){1,}\(\d\d\d\d(, [A-Z][a-z\- ]*\d\d?|)\)\.[a-zA-Z\-\:\'\s]{3,}\.[a-zA-Z\-\s]+\,[ ]*\d\d(\(\S\))*,\d+.\d+./ 

只抓住10,是脆弱得要命。

我只需要期刊文章 - 不是書籍,不是非英文文章。

關於如何使這個正則表達式更易於管理的任何提示讚賞。

我把它用Rubular

這是源數據建(我知道缺少空間和國際性的問題):

Bre'dart,S.,情人節,T.,卡爾德, A.,& Gassi,L。(1995)。面的 interactiveactivation模型 naming.Quarterly雜誌 ExperimentalPsychology的, 48(A),466-486.Bruce,V.,&楊,A. (1986)。理解面孔 recognition.BritishJournal of 心理學​​,77,305-327.Burton,A.M。, & Bruce,V。(1992)。我認識你的臉,但我可以'淹沒你的名字:A 簡單的解釋?英國雜誌 Psy-chology,83,45-60.Flude,B, Ellis,A.,& Kay,J.(1990) )。面 處理和名稱retrievalin一個 命名性失語:名稱是從semanticinformation 約people.Brain和認知, 11,60-72.Gratton,G.,Coles的,MGH, Sirevaag,EJ,埃裏克森,CW分開存儲 ,& Donchin,E。 (1988)。前和 poststimulus激活響應 信道:Apsychophysiological 實驗 心理學​​analysis.Journal:胡人感知與性能 ,14,331-344.Hodges,J.R。, &格林J. D. W.(1998)。瞭解 關於人andnaming他們: 阿爾茨海默氏病的患者可以做一個 沒有theother季刊 實驗心理學, 51(A),121-134.Huynh,H.,& Feldt,L. S.(1976年? )。 教育統計, 1,69-82.Jasper,閣下(1958年)的 自由度 樣本數據的自由度的修正估計。在 electroencephalography.Electroencephalography andClinical神經生理學, 10,370-375.Johnston,R. A.,&布魯斯 clinicalexamination的方法報告委員會的 , 五(1990年)。遺失物業?檢索 differencesbetween名代碼和熟悉 people.Psycho邏輯研究 52,62-67.Kornhuber,H. H.,& Deecke, L.(1965) 語義代碼。Hirnpotentialaenderungen beiWillkuerbewegungen和人被動 走勢: BE-準備電位和 reafferent潛力[腦 潛在changesfor自願和人類 被動運動:準備 potentialand傳入 潛力] .Pfluegers昔日的 總生理學,284.1 -17.Kutas, M.,& Donchin,E。(1974年,11月8日)。擠壓的 研究:慣用手, 響應 readi岬 potential.Science,186,545-547.Kutas, M.,& Donchin,E。(1980)的手,響應力,和非對稱性。準備 以禪意 bymovement相關的腦 potentials.Brain響應的研究,本書引用的202,95-115

例子確實搞砸mletterle的回答

Lippold, O. C. J. (1967). Electromyography. In P. H. Venables & I. Martin 
(Eds.), A manual of psychophysiological methods (pp. 245–298). Amsterdam: 
North-Holland. 
Low, K. A., & Miller, J. (1999). The usefulness of partial information: 
Effects of go probability in the choice/nogo task. Psychophysiology, 36, 
288–297. 

回答

10

此正則表達式應該做的事你要

([^\.].*?[0-9])(?=\.|\Z) 

它採用積極的向前看檢查隨後一段號碼(或字符串的結尾)它不包括從捕獲的時期。你可以在這裏看到的結果:http://www.rubular.com/regexes/6293

+0

所以比我正準備要好得多。太好了! – m104 2009-02-21 21:56:46