Home >Web Front-end >JS Tutorial >Definition and introduction of javascript regular expressions

Definition and introduction of javascript regular expressions

零下一度
零下一度Original
2017-07-18 16:01:441707browse

JavaScript Regular Expression

Regular Expression (English: Regular Expression, often abbreviated as regex, regexp or RE in code) uses a single string to describe and match a series of matches A string search pattern for a certain syntax rule.

Search mode can be used for text search and text replacement.

What is a regular expression?

Regular expression is a search pattern formed by a sequence of characters.

When you search for data in text, you can use search patterns to describe what you want to query.

A regular expression can be a simple character, or a more complex pattern.

Regular expressions can be used for all text search and text replacement operations.

1. Define a regular expression through the RegExp constructor. The first parameter is the regular expression passed in as a string, and the second parameter is the modifier also passed in as a string.

例:var caps = new RegExp("[A-Z]", "g");

2. Directly define a regular expression literal, separated by a forward slash symbol "/" on the right side of the expression, followed directly by the modifier. (This is recommended)

例:var caps = /[A-Z]/g;

Commonly used characters in javascript regular expressions

##\smatch whitespace characters, that is, spaces, tabs, carriage returns A\sB matches a string containing A whitespace character B\S matches any character except whitespace characters A\SB matches A is not a whitespace character. B\d matches a number from 0-9##\D\w\WIn addition to commonly used expressions, there are also modifiers, which are used to define how regular expressions should be used. There are three possibilities. The value can be used individually as an option or multiple times at once.
Characters Description Example
[exp] Regular expression handler for character sequences wrapped in square brackets ([]) Will match any character inside the square brackets. [exp] Matches any character among e, x, p
[^exp] Add ^ in front of the square brackets Characters, match to any symbol outside the square brackets, except the meaning . [^exp] matches any character except e, x, p
[exp1-exp2] Use - hyphen to express Matches any character in the character sequence from exp1 to exp2. [A-Z] matches any character from A-Z; [0-9] matches any number from 0-9
(exp) For small A character sequence wrapped in brackets, the regular expression will match exactly in this character sequence (it will match if it contains) . (exp) matches the string "exp"
(exp1\ exp2) Use the pipe character\
exp+ Use the + character after the expression to indicate that is matched only when the expression is included one or more times. exp+match exp

Matches any character except numbers
Matches one A literal character, that is, a word, number or letter
matches any character except literal characters

Modifiergim

javascript正则表达式常见用法

有三种string类型的方法可以使用正则表达式。match()查找出能匹配正则表达式的所有子字符并将结果以字符串数组的形式返回。replace()方法查找和前者相同的子字符并用传入该方法的另一个字符串进行替换。search()只是定位能匹配到正则表达式的第一个子字符串的位置,并以数字序号形式放回字符串在整个字符串中的位置。

    var regEx = /他妈的/g,
        string = "我去你他妈的";
    alert(string.match(regEx));         //他妈的
    alert(string.search(regEx));        //3
    alert(string.replace(regEx, "*"));  //我去你*

replace()特殊用法

可用作javascript字符串的replace()方法第二个参数的特殊字符

Description
Apply regular The expression finds all matching items in the comparison string instead of just returning the first match
Apply the expression to compare and match at the same time , ignore case
Apply expressions to compare and match multiple lines of text, not just the first line
字符序列 含义 例子
$$ 把找到的字符串用一个单独的$字符代替 "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中使用正则表达式的指引介绍。写得更加详细。

The above is the detailed content of Definition and introduction of javascript regular expressions. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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