Home >Web Front-end >JS Tutorial >You must understand the relevant syntax of creating regular expressions through literal RegExp in JS

You must understand the relevant syntax of creating regular expressions through literal RegExp in JS

php是最好的语言
php是最好的语言Original
2018-07-23 16:35:381406browse

Regular expressions are created through the literal RegExp, which consists of strings and is case-sensitive during the matching process. This article introduces the methods that support string objects match, replace, and split, as well as RegExp object attributes and RegExp objects. method.

RegExp method: test and exec

The test method will determine whether the string passed in as a parameter matches the regular expression. For example:

var re=/JavaScript rules/;

var str="JavaScript rules";

if(re.test(str)) document.writeln(" Hello world");

The regular expression matching process is case-sensitive. If you want case-insensitive matching, you can add the letter i after the second slash after the regular expression, for example: var re=/javascript rules/i;

  • ## i: Force the matching process to ignore case

  • #g: Global match. Directs the pattern matching process to find all patterns that match a pattern, regardless of the pattern's position within the string on that line. If the global flag g is not used, only the first match will be replaced or returned.

  • m: Match multiple lines. For example: ^ represents the beginning of a line, $ represents the end of a line.

Example: The entire exec method will search in the entire string according to the specific pattern /js*/. In the returned result array, the first element is the string matching the pattern, and then continue to find the next match:

var re=new RegExp('js*','ig');

var str='cfdsjs.*JS($%^Js';

var resultArray=re.exec(str);

while(resultArray){

document.writeln(resultArray[0]);

document.writeln("Hello world" re.lastIndex '
');

resultArray=re.exec( str);

}

Set the lastIndex attribute in RegExp to the position of the previous pattern found in each consecutive call, each time exec Each call will find the next pattern.

The exec method will return an array, but the array elements are not all matches, but the current match and all parenthesized substrings. If in the entire string Use parentheses to match a substring, then the substring will be contained in consecutive array elements in the final array, which is located after the entire matched string at the 0th position of the array.

Regular expression metacharacters

  • \s: Indicates blank characters

  • *: Indicates that the previous character appears 0 or more times

  • : Indicates that the character before the plus sign appears one or more times

  • ?: Indicates that the preceding character appears 0 times or once

  • .: Indicates that the character appears only once

  • .*: Greedy matching.

  • .*?: Delayed matching. (Returns empty, 0 times)

  • \D: Not a number ([^0-9])

  • \d : Matches only numbers ([0-9])

  • ^n: Matches any string starting with n

  • n$: Matches Any string ending with n

  • ?=n: Matches any string immediately followed by the specified string n

  • ?! n: Matches any string that is not immediately followed by the specified string n

  • \w: Any alphanumeric character

  • \W: Any non-numeric alphabetic character

  • a|b: Matches the letter a or the letter b

  • s{2}: Braces indicate repetition of the previous character Number of times

  • ##\0: Find NUL character
  • \n: Find newline character
  • \r: Search for carriage return character
  • \f: Search for form feed character
  • ##\t: Search for tab character
  • \v: Find vertical tab characters
  • \b: Match word boundaries

  • \xxx : Search for characters specified by octal xxx
  • ##\xdd: Search for characters specified by hexadecimal dd

  • \uxxxx: Search by tens Unicode content specified by hex =str.match(rgExp);

  • Support string object replace method
  • var resultArray=str.replace(rgExp,"$2-$1");//The first substring And the second replacement, get the replaced str

  • Support string object search method

Retrieve values ​​that match the regular expression

String object split method

Split the string into a string array

$1--$9 saves the value in parentheses

RegExp object properties

global: whether it has the flag g

ignoreCase: whether it has the flag i

lastIndex: an integer indicating the character position to start the next match

multiline: Whether the RegExp object has the flag m

source: the source text of the regular expression

RegExp object method

compile: compile the regular expression

exec: Retrieve the value specified in the string, return the found value, and determine its position

test: Retrieve the value specified in the string, return true or false

Related recommendations

Detailed explanation of the RegExp object of JavaScript regular expressions_javascript skills

Definition and introduction of javascript regular expressions

##JavaScript Regular expressions of type system_javascript skills

The above is the detailed content of You must understand the relevant syntax of creating regular expressions through literal RegExp in JS. 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