正则表达式[0-9a- zA- Z]+和[0-9a- z]有什么区别?

如题所述

一、表达式含义不同:

1、[0-9a-zA-Z]表示匹配1个数字或1个字母,其中,数字为0到9中的数字,字母为a-z的小写字母或A到Z的大写字母中的一个。

2、[0-9a-zA-Z]+表示匹配至少1个数字或字母。,其中,数字为0到9中的数字,字母为a-z的小写字母或A到Z的大写字母中的一个。

二、匹配次数不同:

[0-9a-zA-Z]+中的“+”表示匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。而[0-9a-zA-Z]则不同,只匹配一次。

三、形式不同:

[0-9a-zA-Z]+与[0-9a-zA-Z]相比,加了“+”符号,作为元字符则具有特殊的含义,使得表达式整体的含义也有所变化。

扩展资料:

其它相关的元字符:

1、\ 表示:将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。

2、^ 表示:匹配输入字行首。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。

3、$ 表示:匹配输入行尾。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。

4、* 表示:匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于{0,}。

参考资料来源:百度百科-正则表达式

温馨提示:答案为网友推荐,仅供参考
相似回答