我有这样的字符串:
ACB 01900 X1911D 1910 1955-2011 3424 2135 1934 foobar
我试图获得最后一次出现的年份(从 1900 年到 2050 年),所以我只需要从该字符串中提取1934 年。
我正在尝试:
grep -P -o '\s(19|20)[0-9]{2}\s(?!\s(19|20)[0-9]{2}\s)'
或者
grep -P -o '((19|20)[0-9]{2})(?!\s\1\s)'
但它匹配:1910 和 1934
这是 Regex101 示例:
https://regex101.com/r/UetMl0/3
https://regex101.com/r/UetMl0/4
另外:如何在没有周围空间的情况下提取年份而不进行额外的 grep 过滤?