首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >regex搜索von Bibtex文件以提取捕获组中的引号和标题

regex搜索von Bibtex文件以提取捕获组中的引号和标题
EN

Stack Overflow用户
提问于 2019-07-15 16:16:45
回答 1查看 133关注 0票数 0

我遇到的问题是,我只想使用capture组提取Bibtex库文件的引号和标题。

我的数据文件是这样的。

@Wang2017,作者= {Wang,Yunsen和Kogan,Alexander},file ={:/2017/2017{}设计隐私-保护基于blockchain的会计信息Systems.pdf:pdf},关键词={会计信息系统,区块链,连续审计},标题={{设计隐私-保护基于Blockchain的会计信息系统}},年份= {2017} }

在提取cite键时,我使用了以下正则表达式:

@\w+{(\w:-+)

在提取标题时,我使用了以下正则表达式: title ={(.*?)}}

两样都有用。但是我不能将这两个命令合并成一个regex命令,因此引号键是捕获组1,标题是捕获组2。

您可以使用以下链接找到示例文件和已经使用的regex命令。

https://regex101.com/r/v4cIe6/1

我的预期结果将是一条命令,立即提取引号、键和标题,并将其放入不同的捕获组。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-15 16:20:08

如果支持负前瞻性,则可以重复所有不以标题开头的行。如果行匹配,则匹配空间、=、空格和{{,并在捕获组2中捕获标题。

代码语言:javascript
复制
@\w+{([\w:-]+).*(?:\r?\n(?!title\b).*)*\ntitle = {{(.*?)}}

解释

  • @\w+{([\w:-]+)匹配引号键的模式
  • .*匹配除换行符以外的任何字符
  • (?:非捕获群
    • \r?\n(?!title\b).*匹配断言字符串的换行符不以标题开头

  • )*关闭非捕获组并重复0+时间
  • \r?\ntitle =匹配换行符,然后匹配title =
  • {{(.*?)}}匹配标题的模式,在第2组中捕获{{}}之间的匹配

Regex演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57043660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档