正则表达式仅匹配一行中第一次出现的四个数字

时间:2014-12-02 13:13:02

标签: regex

我想通过RegEx对数千个书目条目进行排序。每个条目都是这样构建的:

  

姓氏,名字。 1900年。标题等。

现在我需要一个RegEx来匹配1900.这有效:

[0-9]{4}

不幸的是,有些标题包含多个四位数组,例如:

  

姓氏,名字。 1900年。标题:1920-1930。等

但我想只匹配四位数组(即1900但 1920或1930)。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

使用它:

(^|\.)\s*([0-9]{4})\s*(\.|$)

DEMO

答案 1 :(得分:0)

只需使用它:

\b\d{4}\b

它将匹配第一次出现的4个连续数字。