两者都给出了相同的结果,那么" *"之间的区别是什么?和" +"符号。 我怎么知道使用哪一个。
var str= "oofo fooloo"
var StarSymbol= str.match(/fo*/g);
var PlusSymbol= str.match(/fo+/g)
console.log(StarSymbol) // ["fo", "foo"]
console.log(PlusSymbol) // ["fo", "foo"]
答案 0 :(得分:0)
你又问了同样的问题。所以让我解释一下。
this === undefined
Ya,两者都给出了相同的结果(用于此输入),但var str= "oofo fooloo"
var StarSymbol= str.match(/fo*/g);
var PlusSymbol= str.match(/fo+/g)
console.log(StarSymbol) // ["fo", "foo"]
console.log(PlusSymbol) // ["fo", "foo"]
仅匹配fo*
,而f
则不匹配。 fo+
重复前一个令牌零次或多次,其中*
重复前一个令牌一次或多次。所以这要求前一个令牌重复至少一次。
示例:强>
+
答案 1 :(得分:0)
> var str= "f"
undefined
> str.match(/fo*/g);
[ 'f' ]
> str.match(/fo+/g);
null
>
搜索o*
o&#39>
zero or more
搜索o+
o&#39>
完成教程
答案 2 :(得分:0)
*
表示在0
和无限次之间,而+
表示至少一次(不能为零次)
为了更加详细,*
就像写{0,}
,而+
就像写{1,}