代码之家  ›  专栏  ›  技术社区  ›  srboisvert

匹配APA参考格式的Ruby正则表达式

  •  2
  • srboisvert  · 技术社区  · 17 年前

    我需要一个匹配APA格式引用的正则表达式。

    /([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

    这是源数据(我知道缺少空格和国际字符问题):

    南卡罗来纳州布雷达特、T.瓦伦丁、考尔德、, 人脸交互激活模型 实验心理学, 48(A),466486.Bruce,V,&杨,A。 (1986). 了解面孔 心理学,77305327,伯顿,上午。, &布鲁斯五世(1992年)。我认识你 但我记不起你的名字:A 精神病学,834560。弗鲁德,B。, 埃利斯,A,&Kay,J.(1990年)。面对 处理和名称检索 失能性失语症:姓名被储存 关于人,大脑和认知, 116072.格拉顿,G.,科尔斯,M.G.H。, Donchin,E.(1988年)。前和 频道:亚太生理学 分析。实验化学杂志 性能,143331344.霍奇斯,J.R。, &格林,J.D.W.(1998)。知道 关于人和命名他们:可以吗 阿尔茨海默病患者做一个 没有其他的?季刊 实验心理学, 51(A)、121134.Huynh、H和;费尔德,L。 自由度修正 和分割图设计。美国医学杂志 教育统计, 贾斯珀,H.H.(1958年)。汇报 工作方法委员会的报告 临床神经生理学, V.(1990年)。失物招领?检索 名称代码和名称之间的差异 人的心理研究 526267.科恩胡伯,H.H.&迪克, Beiwillkuerbeweegungen和Passizen 有潜力 再传入电位[脑] 电位和传入 P吕格斯-阿奇夫-福尔模具 M&东唐钦(1974年11月8日)。 易读性不对称 潜力科学,186545547,库塔斯, M&Donchin,E.(1980年)。准备 运动相关脑 潜力。大脑研究,20295115

    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.
    
    1 回复  |  直到 17 年前
        1
  •  10
  •   mletterle    17 年前

    这个正则表达式应该做你想做的事情

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

    它使用正向前瞻检查后跟句点(或字符串结尾)的数字,从捕获中排除句点。您可以在此处看到结果: http://www.rubular.com/regexes/6293