从以下行提取1944的正则表达式是什么:
vol. 9, no. 3, pp. 185-197, 1944
1944年基本上是我试图提取的出版年份。我在1900年到2010年之间变化。
答案 0 :(得分:2)
如果它始终是字符串中的最后一部分,则可以使用$
表示,并且年份应始终为4位数字,因此您使用d{4}
。
因此,你想要的正则表达式应该是:
\d{4}$
如果您想测试正则表达式,那么这里有一个非常简洁的工具:http://pagecolumn.com/tool/pregtest.htm,它还有右侧规定的规则。 :)
答案 1 :(得分:1)
你需要一个更好的约束,但也许这个:
,\s+(19\d\d|200\d|2010)
你知道具体的引用方式吗? (MLA,APA等)
答案 2 :(得分:1)
假设年份永远是最后一年:
\d{4}$
答案 3 :(得分:1)
匹配1900年至2010年之间的任何数字:
(19\d\d|200\d|2010)
如果日期始终是该行的最后一项:
(19\d\d|200\d|2010)$
如果之后可能有某些内容,但它总是在页面引用后立即显示:
pp?\.\s*[-\d]+,\s*(19\d\d|200\d|2010)
注意:在设计正则表达式时,通常非常重要的是要有大量要匹配的项目,以便您可以查看可能的输入中可能存在的变化。一个测试项本身通常不足以设计防弹正则表达式。
答案 4 :(得分:-1)
尝试一起捕捉4位数字:
\d{4}
答案 5 :(得分:-1)
好的,我用它来完成它的工作:
\b[1-9][0-9]{3}\b
这匹配1000到1999之间的数字,我知道'年'之前的数字不会那么大