我有一句话
The cow is fat. The cows are fat. The cowss are fat
我想仅使用正则表达式(要求)从中提取牛,牛,牛,没有java。也就是说,如果存在,则忽略所有尾随's。
我试过了
\cow[(?:s)]*\
但它给了我牛,牛,牛。我做错了什么?
答案 0 :(得分:1)
*
表示零个或多个字符。因此,您正在cow
中捕获?:s
和零个或多个字符,并且它不能用作非捕获组。
你为什么不用这个?
(cow)s*
答案 1 :(得分:1)
// [YOUR CODE] this last parenthesis is not needed.
var average = ((q1+q2+q3)/192*.25 + (es1+es2+es3)/50*.55 + a/14*.2)*100);
// [YOUR CODE WITHOUT LAST PARENTHESIS] this does not produce any errors.
var average = ((q1+q2+q3)/192*.25 + (es1+es2+es3)/50*.55 + a/14*.2)*100;
将匹配字符串,但不要将匹配结果保存到组中。在您的情况下,如果您想匹配所有Non capturing group
,并忽略所有跟踪。您应该将cow
放入一个组中。
赞cow
。
答案 2 :(得分:1)
为什么不恰好匹配牛?
var str = 'The cow is fat. The cows are fat. The cowss are fat';
var cow = str.match(/(cow)/g);
console.log(cow);

输出是:["牛","牛","牛"]