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

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

WBOY
Freigeben: 2016-06-06 20:07:44
Original
1269 Leute haben es durchsucht

例如:

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

</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

回复内容:

例如:

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

</code>
Nach dem Login kopieren
Nach dem Login kopieren

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

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

<code>/[\w.]/.test("a"); // true
/[\w.]/.test("."); // true
/[\w.]/.test("a."); // true
/[\w.]/.test(" "); // false</code>
Nach dem Login kopieren

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

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

<code>/./.test(" "); //true
/[.]/.test(" "); //false</code>
Nach dem Login kopieren

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

<code>/[+]/.test("+"); //true
/+/.test(""); //Uncaught SyntaxError: Invalid regular expression: /+/: Nothing to repeat(…)
/.+/.test("oops"); //true</code>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage