Javascript正则表达式量词:零次或多次匹配意味着什么
所以我只是想澄清javascript正则表达式中的*量词到底是做什么的。MDN中的定义说明如下: x*与前一项“x”匹配0次或更多次。例如,/bo*/匹配“鬼叫声”中的“boooo”和“鸟叫声”中的“b”,但“山羊咕噜”中没有匹配Javascript正则表达式量词:零次或多次匹配意味着什么,javascript,regex,quantifiers,Javascript,Regex,Quantifiers,所以我只是想澄清javascript正则表达式中的*量词到底是做什么的。MDN中的定义说明如下: x*与前一项“x”匹配0次或更多次。例如,/bo*/匹配“鬼叫声”中的“boooo”和“鸟叫声”中的“b”,但“山羊咕噜”中没有匹配 我对这个定义的理解是,它将匹配一个“b”,它将匹配一个“b”,后跟任意数量的“o”字符。那么,它与“b”字符匹配的事实是否不构成1匹配而不是0匹配?我猜是“0次或更多次”的陈述让我感到不舒服。其中的重要短语是“前面的一项”。如果前面的项目是单个字符,如此处所示,则表示
我对这个定义的理解是,它将匹配一个“b”,它将匹配一个“b”,后跟任意数量的“o”字符。那么,它与“b”字符匹配的事实是否不构成1匹配而不是0匹配?我猜是“0次或更多次”的陈述让我感到不舒服。其中的重要短语是“前面的一项”。如果前面的项目是单个字符,如此处所示,则表示该字符可以重复0次或更多次
bo*
将匹配ab
,后跟零个或多个o
s<代码>o*单独匹配零个或多个o
s<代码>b(?:oo)*将匹配b
,或boo
,或boooo
,等等(零,或二,或四,或六,o
s)
查看紧跟在量词前面的标记,看看它在量化什么
例如,
[ab][xy]*
将匹配a
,或b
,或ax
,或axxxy
,或byxy
。量词前面的标记,[xy]
,与x
或y
匹配,会重复0次或更多次。好吧,所以我想根据您所说的“该字符重复0次或更多次”我现在有了更好的理解。因此,在“b”后面跟一个“o”以外的字符的情况下,事实上,“b”不重复,因此构成“零次或多次”…正确吗?对于bo*
,紧靠*
量词前面的标记是o
,而b
正常匹配,然后o
重复0次或多次。