我正在尝试使用正则表达式从引文中提取页码。
这是我正在使用的测试数据:
- 期刊名称,卷。20,第2号;页。15
- 期刊名称,卷。20、第2期:人名(1990-2010);页。15
- 期刊名称,卷。20、第2期:人名(1990-2010);第15-20页
- 期刊名称,卷。20、第2期:人名(1990-2010);第 15 页-
- 期刊名称,卷。20,第2号;20-25
- 期刊名称,卷。20,第2号;ISSN:1234-1234(印刷版);20-25
- 期刊名称,卷。20,第2号;20-25 ; ISSN:1234-1234(印刷版)
- 期刊名称,卷。20,第2号;ISSN:1234-1234(印刷版);ISSN:1234-1234(在线);20-25
- 期刊名称,卷。20,第2号;ISSN 1234-1234(印刷版);ISSN 1234-1234(在线);20-25
使用以下正则表达式时:
(?![^()]*\))(\d+-\d+)
上面粗体的值是匹配的。
我想改进该正则表达式,使其与\d+-\d+
“ISSN”或“ISSN:”之后的任何内容都不匹配。我试过添加一个后视使用(?<![ISSN:?\s])
但没有成功。
关于如何实现这一目标并仅匹配以下值的任何想法?
- 期刊名称,卷。20,第2号;页。15
- 期刊名称,卷。20、第2期:人名(1990-2010);页。15
- 期刊名称,卷。20、第2期:人名(1990-2010);第15-20页
- 期刊名称,卷。20、第2期:人名(1990-2010);第 15 页-
- 期刊名称,卷。20,第2号;20-25
- 期刊名称,卷。20,第2号;ISSN:1234-1234(印刷版);20-25
- 期刊名称,卷。20,第2号;20-25 ; ISSN:1234-1234(印刷版)
- 期刊名称,卷。20,第2号;ISSN:1234-1234(印刷版);ISSN:1234-1234(在线);20-25
- 期刊名称,卷。20,第2号;ISSN 1234-1234(印刷版);ISSN 1234-1234(在线);20-25