Heim Web-Frontend js-Tutorial Teilen Sie einige häufig verwendete Beispiele für reguläre Ausdrücke

Teilen Sie einige häufig verwendete Beispiele für reguläre Ausdrücke

Jun 28, 2017 am 10:59 AM
常见 总结 表达式

Zusammenfassung häufig verwendeter regulärer Ausdrücke

Reguläre Ausdrücke werden auch als reguläre Ausdrücke und konventionelle Ausdrücke bezeichnet. (Englisch: Regulärer Ausdruck, im Code oft als Regex, Regexp oder RE abgekürzt), ein Konzept aus der Informatik. Reguläre Ausdrücke verwenden eine einzelne Zeichenfolge, um eine Reihe von Wörtern zu beschreiben und abzugleichen, die einer bestimmten Syntaxregel entsprechen. In vielen Texteditoren werden häufig reguläre Ausdrücke verwendet, um Text abzurufen und zu ersetzen, der einem bestimmten Muster entspricht.

Reguläre Ausdrücke, gibt es jemanden wie mich, der es mehrmals gelernt hat, aber immer noch verwirrt ist? Wenn ich es lerne, verstehe ich es immer, aber nachdem ich es gelernt habe, vergesse ich es. Nun, tatsächlich habe ich noch nicht genug geübt. Der sogenannte Rückblick auf die Vergangenheit und das Erlernen des Neuen kann heute ein Rückblick auf diesen stolzen regulären Ausdruck sein.

Warum brauchen wir reguläre Ausdrücke? Tatsächlich liegt es daran, dass Computer dumm sind (das habe ich nicht gesagt). Wenn wir uns beispielsweise 123456@qq.com ansehen, handelt es sich um eine E-Mail-Adresse, aber der Computer erkennt sie nicht, also haben wir sie Verwenden Sie einige Sprachen, die Computer verstehen, um Regeln zu formulieren und ihnen mitzuteilen. Diejenige, die dieser Regel entspricht, ist ein Postfach, sodass der Computer uns helfen kann, das entsprechende Ding zu finden. Daher werden reguläre Regeln verwendet, um Regeln festzulegen, um einige von uns benötigte Vorgänge abzuschließen, z. B. die Anmeldeüberprüfung, die Suche nach bestimmten Dingen usw. Es ist überflüssig, zu viel zu sagen. Kommen wir direkt zum Thema.

Regular definieren:


1 var re = new RegExp("a"); //RegExp object. Parameter sind die Regeln, die wir aufstellen möchten. Es gibt eine Situation, in der diese Methode verwendet werden muss, die im Folgenden erwähnt wird.

2 var re = /a/; // Die Abkürzungsmethode wird für eine bessere Leistung empfohlen. Sie darf nicht leer sein, da sie sonst als Kommentar betrachtet wird

Reguläre, häufig verwendete Methoden

1 test(): Findet Inhalte, die regulären Regeln in einer Zeichenfolge entsprechen. Wenn sie gefunden werden, wird „true“ zurückgegeben, andernfalls wird „false“ zurückgegeben.

Verwendung: regular.test(string)

Beispiel: Bestimmen Sie, ob es sich um eine Zahl handelt

var str = '374829348791';


var re = /D /; // D steht für Nicht-Ziffer

if( re.test(str) ){ // Gibt true zurück, was bedeutet, dass eine Nicht-Ziffer gefunden wurde in der Zeichenfolge.

alert('Nicht alle Zahlen');

}else{

alert('Alle Zahlen');

}

Es gibt viele Symbole in regulären Ausdrücken, die unterschiedliche Bedeutungen darstellen und verwendet werden, um es uns zu ermöglichen, verschiedene Regeln zu definieren, wie z. B. D oben und die folgenden:

s: Leerzeichen

S: Nicht-Leerzeichen

d: Zahl

D: Nicht-Zahl

w: Zeichen (Buchstabe, Zahl, Unterstrich_ )

W: Beispiele für Nicht-Zeichen: Gibt es Zeichen, die keine Zahlen sind

(Im Folgenden werden einige häufig verwendete Zeichen anhand von Beispielen erläutert und abschließend zusammengefasst.)

2 search(): Suchen Sie nach regulärem Inhalt in der Zeichenfolge und geben Sie die Position zurück, an der er erscheint (beginnend bei 0, wenn mehr als ein Buchstabe übereinstimmt, wird nur die Position des ersten Buchstabens zurückgegeben), wenn die Suche gibt bei Fehler -1 zurück

Verwendung: string.search(regular)

Suchen Sie den Inhalt des zusammengesetzten regulären Ausdrucks in der Zeichenfolge. Groß-/Kleinschreibung ignorieren: i——ignorieren (bei „regulär“ wird standardmäßig die Groß-/Kleinschreibung beachtet. Wenn die Groß-/Kleinschreibung nicht beachtet wird, fügen Sie den Bezeichner i am Ende der regulären Zahl hinzu)

Beispiel: Suchen Sie den Buchstaben b in der Zeichenfolge , und nicht zwischen Groß- und Kleinschreibung

var str = 'abcdef';

var re = /B/i;

// var re = new RegExp('B','i'); Sie können auch

alert( str.search(re) ); // 1

3 match() durchsucht den Inhalt der zusammengesetzten Regel in der Zeichenfolge. Wenn die Suche erfolgreich ist, wird der Inhalt im Format eines Arrays zurückgegeben. Wenn sie fehlschlägt, wird null zurückgegeben.

Verwendung: String.match (regulär)

Quantifikator: + Mindestens eine Übereinstimmung kommt unbestimmt oft vor (Übereinstimmung bedeutet Suchen)

Globale Übereinstimmung: g —— global (Standard in regulären Regeln, die Suche wird beendet, solange der Inhalt der zusammengesetzten Regel durchsucht wird)

Beispiel: Alle Zahlen im angegebenen Format finden, 123, 54, 33, 879 wie folgt finden

var str = 'haj123sdk54hask33dkhalsd879';

var re = /d+/g; // Übereinstimmung mit mindestens einer Zahl und globaler Übereinstimmung . Wenn es sich nicht um eine globale Übereinstimmung handelt, stoppt es, wenn die Nummer 123 gefunden wird. Beim globalen Abgleich wird nur 123 angezeigt. Es wird von Anfang bis Ende nach denjenigen gesucht, die den Regeln entsprechen. Wenn kein Pluszeichen vorhanden ist, lauten die passenden Ergebnisse 1, 2, 3, 5, 4, 3, 3, 879, was wir nicht wollen. Mit dem Pluszeichen gibt es jedes Mal mindestens eine passende Zahl.

alert( str.match(re) ); // [123, 54, 33, 879]


4 replace(): Suchen Sie eine Zeichenfolge, die dem regulären Muster entspricht, und ersetzen Sie sie durch die entsprechende Zeichenfolge. Geben Sie den ersetzten Inhalt zurück.

Verwendung: String.replace(reguläre, neue Zeichenfolge/Rückruffunktion) (in der Rückruffunktion bezieht sich der erste Parameter auf das Zeichen, das jedes Mal erfolgreich übereinstimmt)

|: bedeutet oder.

例子:敏感词过滤,比如 我爱北京天安门,天安门上太阳升。------我爱*****,****上太阳升。即北京和天安门变成*号,

一开始我们可能会想到这样的方法:


var str = "我爱北京天安门,天安门上太阳升。";

var re = /北京|天安门/g; // 找到北京 或者天安门 全局匹配

var str2 = str.replace(re,'*');

alert(str2) //我爱**,*上太阳升

//这种只是把找到的变成了一个*,并不能几个字就对应几个*。

   

要想实现几个字对应几个*,我们可以用回调函数实现:


var str = "我爱北京天安门,天安门上太阳升。";

var re = /北京|天安门/g; // 找到北京 或者天安门 全局匹配

var str2 = str.replace(re,function(str){

alert(str); //用来测试:函数的第一个参数代表每次搜索到的符合正则的字符,所以第一次str指的是北京 第二次str是天安门 第三次str是天安门

var result = '';

for(var i=0;i

result += '*';

}

return result; //所以搜索到了几个字就返回几个*

});

alert(str2) //我爱*****,***上太阳升

//整个过程就是,找到北京,替换成了两个*,找到天安门替换成了3个*,找到天安门替换成3个*。

replace是一个很有用的方法,经常会用到。

正则中的字符

():,小括号,叫做分组符。就相当于数学里面的括号。如下:


var str = '2013-6-7';

var re1 = /\d-+/g; // 全局匹配数字,横杠,横杠数量至少为1,匹配结果为: 3- 6-

var re1 = /(\d-)+/g; // 全局匹配数字,横杠,数字和横杠整体数量至少为1 3-6-

var re2 = /(\d+)(-)/g; // 全局匹配至少一个数字,匹配一个横杠 匹配结果:2013- 6-

同时,正则中的每一个带小括号的项,都叫做这个正则的子项。子项在某些时候非常的有用,比如我们来看一个栗子。

例子:让2013-6-7 变成 2013.6.7


var str = '2013-6-7';

var re = /(\d+)(-)/g;

str = str.replace(re,function($0,$1,$2){

//replace()中如果有子项, //第一个参数:$0(匹配成功后的整体结果 2013- 6-),

// 第二个参数 : $1(匹配成功的第一个分组,这里指的是\d 2013, 6)

//第三个参数 : $1(匹配成功的第二个分组,这里指的是- - - )

return $1 + '.'; //分别返回2013. 6.

});

alert( str ); //2013.6.7

//整个过程就是利用子项把2013- 6- 分别替换成了2013. 6. 最终弹出2013.6.7

match方法也会返回自己的子项,如下:


var str = 'abc';

var re = /(a)(b)(c)/;

alert( str.match(re) ); //[abc,a,b,c]( 返回的是匹配结果 以及每个子项 当match不加g的时候才可以获取到子项的集合)

[] : 表示某个集合中的任意一个,比如 [abc] 整体代表一个字符 匹配 a b c 中的任意一个,也可以是范围,[0-9] 范围必须从小到大 。

[^a] 整体代表一个字符 :^写在[]里面的话,就代表排除的意思

例子:匹配HTML标签 比如

hahahah
找出标签

var re = /<[^>]+>/g; Passen Sie mindestens eine nicht rechte Klammer in die Mitte der linken Klammer (da Attribute und andere Dinge darin sind). das Tag), dann Übereinstimmung mit der rechten Klammer var re = /<[wW]+>/g; // Übereinstimmung mit mindestens einem Zeichen oder Nicht-Zeicheninhalt in der Mitte der linken Klammer und dann Übereinstimmung mit der rechten Klammer // Tatsächlich bedeutet es, die linke Klammer zu finden, und dann kann mindestens ein Zeichen in der Mitte stehen. Ein Inhaltsteil stellt ein Tag dar, bis Sie die rechte Klammer finden.

Escape-Zeichen

s: Leerzeichen

S: Nicht-Leerzeichen

d: Zahl

D: Nicht-Zahl

w: Zeichen (Buchstabe, Zahl, Unterstrich)

W: Nicht-Zeichen

: Beliebiges Zeichen

: Echter Punkt

b: unabhängiger Teil (Anfang, Ende, Leerzeichen)

B: nicht unabhängiger Teil

Werfen wir einen Blick auf die letzten beiden:


var str = 'onetwo';

var str2 ="one two";

var re = /oneb/; // hinter e Muss sein unabhängig und kann Start, Leerzeichen oder Ende sein

alert( re.test(str) ); //false

alert( re.test(str2) );// true

Beispiel: Schreiben Sie eine Funktion, um Knoten nach Klassennamen abzurufen:

Möglicherweise haben wir eine solche Funktion schon einmal gesehen:


function getByClass(parent,classname){

if(parent.getElementsByClassName){

return parent.getElementsByClassName(classname );

}

else{

var results = new Array();//Wird zum Speichern aller abgerufenen Elemente mit Klassenbox verwendet

var elems = parent. getElementsByTagName("*");

for(var i =0;i

if(elems[i].className= =classname){

results.push(elems[i]);

}

}

Return Results;

}

}

Tatsächlich liegt ein Problem vor, wenn beispielsweise zwei Klassen in einem Tag vorhanden sind oder Klassen mit demselben Namen vorhanden sind ,

,
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Fassen Sie die Verwendung der Funktion system() im Linux-System zusammen Fassen Sie die Verwendung der Funktion system() im Linux-System zusammen Feb 23, 2024 pm 06:45 PM

Zusammenfassung der Funktion system() unter Linux Im Linux-System ist die Funktion system() eine sehr häufig verwendete Funktion, mit der Befehlszeilenbefehle ausgeführt werden können. In diesem Artikel wird die Funktion system() ausführlich vorgestellt und einige spezifische Codebeispiele bereitgestellt. 1. Grundlegende Verwendung der Funktion system() Die Deklaration der Funktion system() lautet wie folgt: intsystem(constchar*command);

Was sind die gängigen Template-Engines in der PHP-Programmierung? Was sind die gängigen Template-Engines in der PHP-Programmierung? Jun 12, 2023 am 09:50 AM

In den letzten Jahren hat sich die Template-Engine in der PHP-Programmierung zu einem wichtigen Bestandteil der PHP-Entwicklung entwickelt und erleichtert Programmierern die Entwicklung und Verwaltung von Seiten. In diesem Artikel werden gängige Template-Engines in der PHP-Programmierung vorgestellt. SmartySmarty ist eine häufig verwendete PHP-Vorlagen-Engine. Sie unterstützt eine Reihe von Funktionen wie zwischengespeicherte Vorlagen, Plug-in-Module und benutzerdefinierte Funktionen. Die Syntax von Smarty ist sehr flexibel und kann das Problem der Kombination von PHP-Variablen mit HTML-Tags lösen, wodurch die PHP-Sprache besser für Vorlagendesign geeignet wird. Darüber hinaus hat S

Häufige Anwendungsszenarien von Positionsattributen in der H5-Entwicklung Häufige Anwendungsszenarien von Positionsattributen in der H5-Entwicklung Dec 27, 2023 am 10:08 AM

Gängige Anwendungsszenarien des Positionsattributs in der H5-Entwicklung erfordern spezifische Codebeispiele. In der H5-Entwicklung ist das Positionsattribut von CSS sehr wichtig. Es steuert die Positionierung von Elementen auf der Webseite. Durch die richtige Anwendung des Positionsattributs können wir Flexibilität und Schönheit im Seitenlayout erreichen. In diesem Artikel stellen wir die gängigen Anwendungsszenarien des Positionsattributs vor und veranschaulichen sie anhand konkreter Codebeispiele. Statisch (statische Positionierung): Der Standardwert des Positionsattributs ist st

Wie behebt man Fehler in der Python-Ausdruckssyntax? Wie behebt man Fehler in der Python-Ausdruckssyntax? Jun 24, 2023 pm 05:04 PM

Python ist als High-Level-Programmiersprache einfach zu erlernen und zu verwenden. Sobald Sie ein Python-Programm schreiben müssen, werden Sie unweigerlich auf Syntaxfehler stoßen, und Fehler in der Ausdruckssyntax kommen häufig vor. In diesem Artikel besprechen wir, wie Fehler in der Ausdruckssyntax in Python behoben werden. Fehler in der Ausdruckssyntax gehören zu den häufigsten Fehlern in Python und werden normalerweise durch eine falsche Verwendung der Syntax oder das Fehlen notwendiger Komponenten verursacht. In Python bestehen Ausdrücke normalerweise aus Zahlen, Zeichenfolgen, Variablen und Operatoren. am häufigsten

Was sind die häufigsten superglobalen Variablen in der PHP-Programmierung? Was sind die häufigsten superglobalen Variablen in der PHP-Programmierung? Jun 12, 2023 am 09:31 AM

Superglobale Variablen sind ein sehr wichtiges Konzept in PHP. Sie können überall im Programm auf Variablenwerte zugreifen, ohne Funktionen oder andere Methoden zur Übergabe von Variablen zu verwenden. In diesem Artikel besprechen wir mehrere superglobale Variablen, die häufig in der PHP-Programmierung verwendet werden. $_GET$_GET ist eine der superglobalen Variablen, die zum Sammeln von Daten verwendet werden, die von HTML-Formularen übermittelt werden. Über $_GET können wir die Abfragezeichenfolgenparameter in der angegebenen URL abrufen. Diese Parameter können für Vorgänge wie Datenfilterung oder Datenabfrage auf der Seite verwendet werden. Zum Beispiel wann

In C und C++ wird Komma zum Trennen von Ausdrücken oder Anweisungen verwendet In C und C++ wird Komma zum Trennen von Ausdrücken oder Anweisungen verwendet Sep 09, 2023 pm 05:33 PM

In C oder C++ hat das Komma "," unterschiedliche Verwendungszwecke. Hier erfahren wir, wie man sie nutzt. Kommas als Operatoren. Der Kommaoperator ist ein binärer Operator, der den ersten Operanden auswertet, das Ergebnis verwirft, dann den zweiten Operanden auswertet und den Wert zurückgibt. Der Kommaoperator hat in C oder C++ die niedrigste Priorität. Beispiel #include<stdio.h>intmain(){ intx=(50,60); inty=(func1(),func2());} Hier wird x 60 zugewiesen. Für die nächste Anweisung wird func1( zuerst ausgeführt

Zusammenfassung der Git-Workflow-Management-Erfahrung Zusammenfassung der Git-Workflow-Management-Erfahrung Nov 03, 2023 pm 06:45 PM

Zusammenfassung der Git-Workflow-Management-Erfahrung Einführung: In der Softwareentwicklung ist die Versionsverwaltung ein sehr wichtiges Glied. Als eines der derzeit beliebtesten Versionsverwaltungstools machen die leistungsstarken Branch-Management-Funktionen von Git die Zusammenarbeit im Team effizienter und flexibler. In diesem Artikel werden die Erfahrungen mit dem Git-Workflow-Management zusammengefasst und weitergegeben. 1. Einführung in den Git-Workflow Git unterstützt eine Vielzahl von Workflows, und Sie können den geeigneten Workflow entsprechend der tatsächlichen Situation des Teams auswählen. Zu den gängigen Git-Workflows gehören der zentralisierte Workflow, der Feature-Branch-Workflow und GitF

Was sind die häufigsten bedingten Anweisungen in der PHP-Programmierung? Was sind die häufigsten bedingten Anweisungen in der PHP-Programmierung? Jun 12, 2023 am 08:25 AM

PHP ist eine Open-Source-Skriptsprache für allgemeine Zwecke, die im Bereich der Webentwicklung weit verbreitet ist. In der PHP-Programmierung gehören bedingte Anweisungen zu den unverzichtbaren Grundsyntaxen, mit denen verschiedene logische Urteile und Flusskontrollen im Programm implementiert werden. In diesem Artikel werden gängige bedingte Anweisungen in der PHP-Programmierung vorgestellt. 1. If-Anweisung Die am häufigsten verwendete bedingte Anweisung in PHP ist die if-Anweisung. Die Syntax der if-Anweisung lautet wie folgt: if (bedingter Ausdruck) {//Anweisung, die ausgeführt werden soll, wenn die Bedingung wahr ist}, wobei der bedingte Ausdruck alles sein kann

See all articles