JavaScript Regulärer Ausdruck
Regulärer Ausdruck (Englisch: Regulärer Ausdruck, im Code oft als Regex, Regexp oder RE abgekürzt) verwendet eine einzelne Zeichenfolge, um eine Reihe von Übereinstimmungen zu beschreiben und abzugleichen A String-Suchmuster für eine bestimmte Syntaxregel.
Der Suchmodus kann für die Textsuche und Textersetzung verwendet werden.
Was ist ein regulärer Ausdruck?
Ein regulärer Ausdruck ist ein Suchmuster, das aus einer Folge von Zeichen besteht.
Wenn Sie im Text nach Daten suchen, können Sie Suchmuster verwenden, um zu beschreiben, was Sie abfragen möchten.
Ein regulärer Ausdruck kann ein einfaches Zeichen oder ein komplexeres Muster sein.
Reguläre Ausdrücke können für alle Textsuch- und Textersetzungsvorgänge verwendet werden.
例:var caps = new RegExp("[A-Z]", "g");
例:var caps = /[A-Z]/g;
Charakter | Beschreibung | Beispiel | |||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
[exp] | Für in eckige Klammern ([]) eingeschlossene Zeichenfolgen
|
[exp] Entspricht jedem Zeichen in e, x, p | |||||||||||||||||||||||||||||||||||||||
[^ exp] | Fügen Sie das ^-Zeichen vor den eckigen Klammern hinzu, um mit jedem Symbol außerhalb der eckigen Klammern abzugleichen, mit Ausnahme der Bedeutung. |
[^exp] entspricht jedem Zeichen außer e, x, p | |||||||||||||||||||||||||||||||||||||||
[ exp1-exp2] | Verwenden Sie den Bindestrich, um ein beliebiges Zeichen
|
[A-Z] entspricht einem beliebigen Zeichen von A-Z; [0-9] entspricht einer beliebigen Zahl von 0-9 | |||||||||||||||||||||||||||||||||||||||
Für die in Klammern eingeschlossene Zeichenfolge stimmt der reguläre Ausdruck genau mit der Zeichenfolge überein (er stimmt überein, wenn dies der Fall ist). enthalten) . | (exp) entspricht der Zeichenfolge „exp“ | ||||||||||||||||||||||||||||||||||||||||
(exp1 td > | exp2) | Verwenden Sie Pipe-Zeichen | |||||||||||||||||||||||||||||||||||||||
exp+ | Verwenden Sie das +-Zeichen nach dem Ausdruck, um nur dann zu finden, wenn der Ausdruck einmal oder mehrmals enthalten ist. | exp+match exp | |||||||||||||||||||||||||||||||||||||||
s | Übereinstimmung mit Leerzeichen, also Leerzeichen, Tabulatoren und Wagenrückläufen | AsB entspricht der Zeichenfolge, die ein Leerzeichen B enthält | |||||||||||||||||||||||||||||||||||||||
S | Entspricht einem beliebigen Zeichen außer Leerzeichen. | ASB entspricht einem beliebigen Zeichen kein Leerzeichen B | |||||||||||||||||||||||||||||||||||||||
d | entspricht einer Zahl von 0-9 | ||||||||||||||||||||||||||||||||||||||||
D | Entspricht jedem Zeichen außer Zahlen | ||||||||||||||||||||||||||||||||||||||||
w | Entspricht einem Textzeichen, also einem Wort, einer Zahl oder einem Buchstaben | ||||||||||||||||||||||||||||||||||||||||
W | Entspricht jedem Zeichen außer Textzeichen |
有三种string类型的方法可以使用正则表达式。match()查找出能匹配正则表达式的所有子字符并将结果以字符串数组的形式返回。replace()方法查找和前者相同的子字符并用传入该方法的另一个字符串进行替换。search()只是定位能匹配到正则表达式的第一个子字符串的位置,并以数字序号形式放回字符串在整个字符串中的位置。
var regEx = /他妈的/g, string = "我去你他妈的"; alert(string.match(regEx)); //他妈的 alert(string.search(regEx)); //3 alert(string.replace(regEx, "*")); //我去你*
可用作javascript字符串的replace()方法第二个参数的特殊字符
字符序列 | 含义 | 例子 |
---|---|---|
$$ | 把找到的字符串用一个单独的$字符代替 | "Hello World".replace(/o/g, "\$\$");//"Hell\$ W\$rld" |
$& | 使用第一个参数中所给定的字符串来替换所找到的子字符串 | "Hello World".replace(/o/g, "$&");//"Hello World" |
$`(ESC下面那个`) | 使用所找到的字符串之前的文本来替换该子字符串 | "Hello World".replace(/o/g, "$`");//"HellHell WHello Wrld" |
$' | 使用所找到的字符串之后的文本来替换该子字符串 | "Hello World".replace(/o/g, "$'");//"Hell World Wrldrld" |
\$1, \$2 | 当第一个参数中包含的正则表达式使用小括号对进行表达式分组,则可以提取出特定的表达式所匹配的子字符串(\$1对应第一个小括号,\$2对应第二个小括号) | "Hello World".replace(/(o)(r)/g, "\$1\$2\$1\$2");//"Hello Wororldd"(查找到or,然后替换成oror |
还有一种就是replace() 的第二个参数可以用函数方式传入,然后用函数的返回值来替换原子字符串。
var count = 0; function replaceWithCount() { count = count + 1; return count; } alert("Hello World".replace(/o/g, replaceWithCount)); //Hell1 W2rld alert("Hello World".replace(/\s/g, replaceWithCount)); //Hello3World
这只是我写的作为笔记的正则表达式一些简单的判断和javascript用法。正则表达式还可以很复杂很强大,那就要再你要使用的时候再去挖掘思考了。如果想了解更多,可以学习Mozilla开发者网络上的关于javascript中使用正则表达式的指引介绍。写得更加详细。
Das obige ist der detaillierte Inhalt vonDefinition und Einführung von regulären Javascript-Ausdrücken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!