我确定存在的非常简单的问题,我无法在谷歌上找到它。
说我有这个文件:
Class of 2010
My favorite number 2012
123213 123123 ajehfga;hg;
我想抓住2010年,所以我会说:
Class of \d\d\d\d
但后来我想摆脱'等级。我该怎么做?
答案 0 :(得分:0)
您可以将\d
放入捕获组:
Class of (\d\d\d\d)
请参阅regex demo(请注意,在大多数情况下,您只能使用限制量词{n}
:Class of (\d{4})
)。这是一种或多或少的通用机制和方法,用于获取带有正则表达式的子模式子匹配。
另一种选择是积极的观察:
(?<=Class of )\d\d\d\d
请参阅another demo
然而,在效率方面,后视是昂贵的。
答案 1 :(得分:0)
2010年级:/class of (\d{4})/i
我最喜欢的号码2012:/My favorite number (\d{4})/i
123213 123123 ajehfga; hg; :/(\d+)/
在php中你会这样做:
$matches = array();
if(preg_match('/class of (\d{4})/i', $haystack, $matches)) {
echo $matches[1];
}
在javascript中你会这样做:
var year = haystack.match(/class of (\d{4})/i)[1];