用于解析科学文章中作者信息的正则表达式

Regular expression for parsing authors information from a scientic article

本文关键字:信息 正则表达式 文章 用于      更新时间:2023-09-26

我想创建一个工具,用它来自动解析一些文本。我正在使用javascript和正则表达式。

例如,我有以下文本:

Aa Aaa 1, Bb Bbb 2  and Cc Ccc 1
1 Institut xx Xx, Some University, Xxxx 14, US-10000 NewYork, USA; E-Mails: aa.aaa@edu.com; cc.ccc@edu.com
2 Institut zz Zzz, Some University2, Zzzz 20, US-10000 NewYork, USA; E-Mail: bb.bbb@edu.com

我想解析这些信息

对于每个作者(名字和姓氏):

  • 隶属关系
  • 电子邮件地址

所以在我的例子中,我希望有:

Aa Aaa - Institut xx Xx, Some University, Xxxx 14, US-10000 NewYork, USA - aa.aaa@edu.com
Bb Bbb - Institut zz Zzz, Some University2, Zzzz 20, US-10000 NewYork, USA - bb.bbb@edu.com
Cc Ccc - Institut xx Xx, Some University, Xxxx 14, US-10000 NewYork, USA - cc.ccc@edu.com

它看起来很复杂,所以如果我认为我应该将我的问题分成几个更简单的问题,请告诉我。

谢谢。

这是可行的任务。

我不用JavaScript编写代码,但我希望SO的人能为你克隆以下Perl代码:

$_ = "'n'n" . $input;
1 while s/^(.*?'n?)'n{1,2}'s*([^'d]+)'s+('d+)'s*?(?:'s*and|[,'n's])(.*?)(?<='n)('3's+)([^'n]*)('n.*$|$)/$1$2 - $6'n'n$4$5$6$7/gs;
s/'n'n.*$//s;
print $_;

在这里查看并测试 Perl 代码。