正则表达式中”+“,”*“,”.“在 []以内和以外有什么区别? 非转义

WBOY
Release: 2016-06-06 20:07:44
Original
1227 people have browsed it

例如:

<code>[\w.]+和[\w.+*?]

</code>
Copy after login
Copy after login

这些符号在[]里面与外面有什么区别?

回复内容:

例如:

<code>[\w.]+和[\w.+*?]

</code>
Copy after login
Copy after login

这些符号在[]里面与外面有什么区别?

首先正则表达式[]里面的内容代表可选组合的意思,
类似

<code>/[\w.]/.test("a"); // true
/[\w.]/.test("."); // true
/[\w.]/.test("a."); // true
/[\w.]/.test(" "); // false</code>
Copy after login

上面的正则表达式可选组合中可以匹配一个字符,或者一个点号,但是不能匹配空字符;

说说区别:
1..[]里面的时候,它就是为了匹配.的,在外面的时候它用来匹配任意字符的,见下面这个示例:

<code>/./.test(" "); //true
/[.]/.test(" "); //false</code>
Copy after login

2.*+[]外面被称为量词(数量词的量词),是表示要匹配的数量的,
*表示任意数量,集合表示是[0, +00);
+表示至少1次,集合表示是[1, +00);
不得不说的是,作为量词时,*+前面必须跟着匹配含义的正则表达式(部分);
[]内就表示它本身的意义了,为了匹配*或者+

<code>/[+]/.test("+"); //true
/+/.test(""); //Uncaught SyntaxError: Invalid regular expression: /+/: Nothing to repeat(…)
/.+/.test("oops"); //true</code>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template