JS Regular Expression usage (applicable to students who have not learned regular expressions or who have forgotten a certain concept to check)

Source: Internet
Author: User
Tags uppercase letter
In simple terms, regular expressions are a powerful tool for pattern matching and replacement. The function is as follows: test a mode of a string. For example, you can test an input string to see if there is a phone number or a credit card number. This is called Data Validity verification.

Detailed explanation of Regular Expressions

Introduction

In short, regular expressions are a powerful tool for pattern matching and replacement. Its functions are as follows:

Test a mode of a string. For example, you can test an input string to see if there is a phone number or a credit card number. This is called Data Validity verification.

Replace text. You can use a regular expression in a document to identify a specific text, and then delete it all or replace it with another text.

Extract a substring from the string based on the pattern match. It can be used to search for specific text in text or input fields.

Basic syntax

After a preliminary understanding of the functions and functions of a regular expression, let's take a look at the syntax format of the regular expression.

The regular expression format is generally as follows:

/Love/the part between the "/" delimiters is the pattern to be matched in the target object. You only need to place the pattern content of the desired matching object between the "/" delimiters. To enable users to customize the mode content more flexibly, regular expressions provide special "metacharacters ". Metacharacters are special characters that have special meanings in regular expressions. They can be used to specify the mode in which the leading character (that is, the character located before the metacharacters) appears in the target object.

Frequently Used metacharacters include "+", "*", and "?".

The "+" metacharacter specifies that its leading character must appear one or more times consecutively in the target object.

The "*" metacharacter specifies that the leading character must appear zero or multiple times in the target object.

"?" Metacharacter specifies that the leading object must appear zero or once consecutively in the target object.

Next, let's take a look at the specific application of the regular expression metacharacters.

/Fo +/because the regular expression above contains the "+" metacharacter, it can be used with the "fool", "fo ", or "football", and so on, one or more character strings that match the letter "f" consecutively.

/Eg */because the above regular expression contains "*" metacharacters, it can be used with "easy", "ego ", or, "egg" and other strings that appear after the letter e are matched with zero or multiple Letter g consecutively.

/Wil? /Because the above regular expression contains "?" Metacharacter, indicating that it can match the "Win" or "Wilson" in the target object, and matches zero or one character string after the letter I.

Sometimes I don't know how many characters to match. To adapt to this uncertainty, regular expressions support the concept of delimiters. These qualifiers can specify how many times a given component of a regular expression must appear to match.

{N} n is a non-negative integer. Match n times. For example, 'O {2} 'cannot match 'O' in "Bob", but can match two o in "food.

{N,} n is a non-negative integer. Match at least n times. For example, 'O {2,} 'cannot match 'O' in "Bob", but can match all o in "foooood. 'O {1,} 'is equivalent to 'o + '. 'O {0,} 'is equivalent to 'o *'.

Both {n, m} m and n are non-negative integers, where n <= m. Match at least n times and at most m times. For example, "o {1, 3}" matches the first three o in "fooooood. 'O {0, 1} 'is equivalent to 'o? '. Note that there must be no space between a comma and two numbers.

In addition to metacharacters, you can also precisely specify the frequency of occurrence of a pattern in a matching object. For example, the/jim {}/regular expression specifies that the character m can appear 2-6 times in a row in the matching object. Therefore, the regular expression can match strings such as jimmy or jimmmmmy.

After a preliminary understanding of how to use regular expressions, let's take a look at the usage of several other important metacharacters.

\ S: Used to match a single space character, including the tab key and line break;

\ S: Used to match all characters except a single space character;

\ D: Used to match numbers from 0 to 9;

\ W: Used to match letters, numbers, or underscores;

\ W: Used to match all characters that do not match \ w;

.: Used to match all characters except line breaks.

(Note: \ s and \ S and \ w and \ W can be regarded as inverse operations)

Next, let's take a look at how to use the above metacharacters in regular expressions through examples.

/\ S +/the above regular expression can be used to match one or more space characters in the target object.

/\ D000/if we have a complex financial statement in hand, we can easily find all the total amount of RMB through the above regular expression.

In addition to the metacharacters described above, regular expressions also have a unique special character, that is, the positioning character. Specifies the position where the matching mode appears in the target object. Commonly used positioning characters include "^", "$", "\ B", and "\ B ".

The "^" Locator specifies that the matching mode must start with the target string.

The "$" operator specifies that the matching mode must appear at the end of the target object.

The "\ B" Locator specifies that the matching mode must appear at the beginning or end of the target string.

The "\ B" Locator specifies that the matched object must be within the boundary of the start and end of the target string,

That is, the matched object cannot start or end with the target string.

Similarly, we can regard "^" and "$" as well as "\ B" and "\ B" as two sets of operators for inverse operation. For example:/^ hell/because the above regular expression contains the "^" locator, you can use "hell" with the target object ", the string starting with "hello" or "hellhound" matches. /Ar $/because the regular expression above contains the "$" operator, it can match the string ending with "car", "bar", or "ar" in the target object. /\ Bbom/because the above regular expression pattern starts with "\ B", it can match a string starting with "bomb" or "bom" in the target object. /Man \ B/because the above regular expression pattern ends with the "\ B" positioning character, you can use "human" with the target object ", the string ending with "woman" or "man" matches.

To make it easier for users to set matching modes flexibly, regular expressions allow users to specify a range in the matching mode, not limited to specific characters. For example:

/[A-Z]/the above regular expression will match any uppercase letter from A to Z.

/[A-z]/the above regular expression will match any lowercase letter in the range from a to z.

/[0-9]/the above regular expression will match any number from 0 to 9.

/([A-z] [A-Z] [0-9]) +/the above regular expression will be associated with any string consisting of letters and numbers, for example, "aB0" matches.

Note that you can use "()" in a regular expression to combine strings. The content contained by the "()" symbol must appear in the target object at the same time. Therefore, the above regular expression cannot match strings such as "abc", because the last character in "abc" is a letter rather than a number.

If we want to implement the "or" operation similar to the programming logic in the regular expression, and select one of multiple different modes for matching, we can use the pipe character "| ". For example:/to | too | 2/the above regular expression will match "to", "too", or "2" in the target object.

There is also a common operator in the regular expression, that is, the negative character "[^]". Unlike the positioning character "^" described above, the "[^]" negation specifies that the target object cannot contain strings specified in the pattern. For example:/[^ A-C]/the above string will match any character except A, B, and C in the target object. In general, when "^" appears in "[]", it is regarded as a negative operator. When "^" is located outside of "[]" or, it should be regarded as a positioning character.

Finally, you can use the Escape Character "\" to add metacharacters to the regular expression mode and find matching objects. For example, The/Th \ */regular expression will match The "Th *" in The target object rather than ".

After constructing a regular expression, you can evaluate the value like a mathematical expression, that is, you can evaluate the value from left to right in a priority order. The priority is as follows:

1. \ Escape Character

2 .(),(? :),(? =), [] Parentheses and square brackets

3. *, + ,?, {N}, {n ,}, {n, m} qualifier

4. ^, $, \ anymetacharacter location and Sequence

5. | "or" Operation

Use instance

JavaScript 1.2 contains a powerful RegExp () object that can be used to match regular expressions. The test () method can check whether the target object contains the matching mode and return true or false accordingly.

We can use JavaScript to write the following script to verify the validity of the email address entered by the user.

   

Regular Expression object

This object contains the regular expression mode and a flag indicating how to apply the mode.

Syntax 1 re =/pattern/[flags]

Syntax 2 re = new RegExp ("pattern", ["flags"])

Parameters

Re

Required. Name of the variable to be assigned a value in the regular expression mode.

Pattern

Required. The regular expression mode to use. If Syntax 1 is used, use the "/" character separation mode. If syntax 2 is used, quotation marks are used to mark the format.

Flags

Optional. If syntax 2 is used, the flag is enclosed in quotation marks. The flag can be used in combination and available include:

G (search for all occurrences of the pattern in full text)

I (Case Insensitive)

M (multi-row search)

Example

The following example creates an object (re) that contains the Regular Expression Pattern and related signs to demonstrate the usage of the regular expression object. In this example, the regular expression object used as the result is also used in the match method:

Function MatchDemo ()

{

Var r, re; // declare the variable.

Var s = "The rain in Spain falls mainly in the plain ";

Re = new RegExp ("ain", "g"); // create a regular expression object.

R = s. match (re); // search for matching in string s.

Return (r );

}

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.