我有一个正则表达式,它匹配精确的单词,如果空格介于两者之间,则返回false。我怎样才能实现这一目标?即使我之间有空格,它也必须返回true。 EX:
var str1 = "This is a fruit";
var str2 = "this is afruit";
str2 = str2.toLowerCase();
if(str2.toLowerCase().match(/a fruit/)){
alert("matched");
return true;
}
return false;
在上面的if条件中,我提到过.match(/ a fruit /)它会让我失意,因为我也在考虑空间。我不想这样做。如果它是“水果”或“水果”它必须让我回归真实。我是正规表达的新手 请帮忙..我被困在这里。
答案 0 :(得分:3)
/a ?fruit/
或者,更漂亮,
/a\s?fruit/
?
表示前一个字符是可选的。 \s
是任何一种空白。
答案 1 :(得分:0)
根据Javascript regular expressions reference:
str2 = str2.toLowerCase();
does_it_match = str2.match(/[a-z ]+/);
if (does_it_match) { return true; }
return false;
答案 2 :(得分:0)
var str1 = "This is a fruit";
var str2 = "this is afruit";
str1 = str1.replace(/\s/g, '');
str2 = str2.replace(/\s/g, '');
这将从字符串中删除空格。然后将两者都转换成小写并按原样进行比较。
答案 3 :(得分:0)
使用以下示例
var str1 = "This is a fruit";
var str2 = "this is afruit";
str2 = str2.toLowerCase();
var matchString = 'a fruit';
matchString = matchString.replace(/\s+/g,'');
if(str2.toLowerCase().match(matchString)){
alert("matched");
return true;
}
return false;