You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

用JavaScript正则按university等关键词分组作者CSV元数据问题咨询

解决方案

最终正则表达式

/(.+?)\., ((?:(?!university|college|institute)[^,]+,)*?)\s*([^,]*(?:university|college|institute)[^,]*)\s*,?\s*(.*?)\s*(?=;|$)/gi
使用时需开启g(全局匹配)和i(忽略大小写)标志。

分组说明

  • 分组1:对应作者名,严格按照.,分隔规则提取,自动处理前后空格
  • 分组2:对应第一个匹配指定关键词的机构前的所有内容,保留原有逗号格式
  • 分组3:对应第一个包含university/college/institute的机构名称
  • 分组4:对应机构之后到分号前的所有剩余内容,不会匹配到下一个作者的信息

JS使用示例

const inputStr = `Lopes de Carvalho, L., Structural Bioinformatics Laboratory, Biochemistry, Faculty of Science and Engineering, Åbo Akademi University, Turku, Finland; Bligt-Lindén, E., Structural Bioinformatics Laboratory, Biochemistry, Faculty of Science and Engineering, Åbo Akademi University, Turku, Finland; Ramaiah, A., Structural Bioinformatics Laboratory, Biochemistry, Faculty of Science and Engineering, Åbo Akademi University, Turku, Finland, Sri Paramakalyani Centre for Environmental Sciences, Manonmaniam Sundaranar University, Alwarkurichi, Tamil Nadu  627412, India; Johnson, M.S., Structural Bioinformatics Laboratory, Biochemistry, Faculty of Science and Engineering, Åbo Akademi University, Turku, Finland; Salminen, T.A., Structural Bioinformatics Laboratory, Biochemistry, Faculty of Science and Engineering, Åbo Akademi University, Turku, Finland;`
const authorReg = /(.+?)\., ((?:(?!university|college|institute)[^,]+,)*?)\s*([^,]*(?:university|college|institute)[^,]*)\s*,?\s*(.*?)\s*(?=;|$)/gi
const matchResult = []
let item
while((item = authorReg.exec(inputStr)) !== null) {
    matchResult.push({
        作者名: item[1].trim(),
        机构前内容: item[2].trim(),
        匹配机构: item[3].trim(),
        机构后内容: item[4].trim()
    })
}
// 输出结果可直接对应你要求的分组规则
console.log(matchResult)

内容的提问来源于stack exchange,提问作者Sivaraj S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:42:01