正则表达式中”+“,”*“,”.“在 []以内和以外有什么区别? 非转义
Jun 06, 2016 pm 08:07 PM
例如:
<code>[\w.]+和[\w.+*?] </code>
这些符号在[]里面与外面有什么区别?
回复内容:
例如:
<code>[\w.]+和[\w.+*?] </code>
这些符号在[]里面与外面有什么区别?
首先正则表达式[]
里面的内容代表可选组合的意思,
类似
<code>/[\w.]/.test("a"); // true /[\w.]/.test("."); // true /[\w.]/.test("a."); // true /[\w.]/.test(" "); // false</code>
上面的正则表达式可选组合中可以匹配一个字符,或者一个点号,但是不能匹配空字符;
说说区别:
1..
在[]
里面的时候,它就是为了匹配.
的,在外面的时候它用来匹配任意字符的,见下面这个示例:
<code>/./.test(" "); //true /[.]/.test(" "); //false</code>
2.*
和+
在[]
外面被称为量词(数量词的量词),是表示要匹配的数量的,*
表示任意数量,集合表示是[0, +00)
;+
表示至少1次,集合表示是[1, +00)
;
不得不说的是,作为量词时,*
和+
前面必须跟着匹配含义的正则表达式(部分);
在[]
内就表示它本身的意义了,为了匹配*
或者+
;
<code>/[+]/.test("+"); //true /+/.test(""); //Uncaught SyntaxError: Invalid regular expression: /+/: Nothing to repeat(…) /.+/.test("oops"); //true</code>

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian

Comment configurer Visual Studio Code (VS Code) pour le développement PHP
