JScript 8.0 regular-expression syntax _ regular expressions

Source: Internet
Author: User

Example of regular expressions

An expression Match

/^\s*$/

Matches a blank line.

/\d{2}-\d{5}/

Verify the ID number consisting of two digits, one hyphen, and 5 digit digits.

/<\s* (\s+) (\s[^>]*)? >[\s\s]*<\s*\/\1\s*>/

Matches HTML tags.

The following table contains a complete list of metacharacters and their behavior in the context of regular expressions:

character Description

\

Marks the next character as a special character, text, reverse reference, or octal escape character. For example, "n" matches the character "n". "\ n" matches line breaks. The sequence "\" matches "\", "\" ("Match" ().

^

Matches the position where the input string starts. If the Multiline property of the RegExp object is set, ^ will also match the position after "\ n" or "\ r".

$

Matches the position of the end of the input string. If the Multiline property of the RegExp object is set, $ also matches the position before "\ n" or "\ r".

*

Matches the preceding character or subexpression 0 or more times. For example, zo* matches "z" and "Zoo". * is equivalent to {0,}.

+

Matches the preceding character or subexpression one or more times. For example, "zo+" matches "Zo" and "Zoo", but does not match "Z". + is equivalent to {1,}.

?

Matches the preceding character or subexpression 0 times or once. For example, "Do (es)?" Match "Do" in "do" or "does". is equivalent to {0,1}.

{n}

N is a non-negative integer. Matches n times exactly. For example, "o{2}" does not match "O" in "Bob", but matches two "o" in "food".

{n,}

N is a non-negative integer. Match at least N times. For example, "o{2,}" does not match "O" in "Bob" and matches all o in "Foooood". "O{1,}" is equivalent to "o+". "O{0,}" is equivalent to "o*".

{n,m}

m and n are nonnegative integers, where n <= m. Match at least N times, at most m times. For example, "o{1,3}" matches the first three o in "Fooooood". ' o{0,1} ' is equivalent to ' o '. Note: You cannot insert a space between commas and numbers.

?

When this character follows any other qualifier (*, + 、?、 {n}, {n,}, {n,m}), the matching pattern is "not greedy." The "not greedy" pattern matches the shortest possible string of searches, while the default "greedy" pattern matches the search for the longest string possible. For example, in the string "Oooo", "o+?" Matches only a single "O", and "o+" matches All "O".

.

Matches any single character except "\ n". To match any character including "\ n", use a pattern such as "[\s\s]".

(pattern)

Matches The pattern and captures the matching subexpression. You can use the $0...$9 property to retrieve a captured match from the result "match" collection. To match the bracket character (), use "\ (" or "\)".

(?:pattern)

A subexpression that matches the pattern but does not capture the match, that is, it is a non capture match and does not store a match for later use. This is useful for combining a pattern part with an "or" character (|). For example, ' Industr (?: y|ies) is a more economical expression than ' industry|industries '.

(? =pattern)

A subexpression that performs a forward lookahead search that matches the string at the starting point of the string that matches the pattern. It is a non capture match, that is, a match cannot be captured for later use. For example, ' Windows (? =95|98| nt|2000) ' matches windows in Windows 2000, but does not match windows in Windows 3.1. Lookahead does not occupy characters, that is, when a match occurs, the next matched search follows the previous match, not the word end-of-file that makes up the lookahead.

(?! pattern)

A subexpression that performs a reverse lookahead search that matches a search string that is not at The starting point of a string that matches pattern. It is a non capture match, that is, a match cannot be captured for later use. For example, ' Windows (?! 95|98| nt|2000) ' matches windows in Windows 3.1, but does not match windows in Windows 2000. Lookahead does not occupy characters, that is, when a match occurs, the next matched search follows the previous match, not the word end-of-file that makes up the lookahead.

x| y

Match x or y. For example, ' Z|food ' matches ' z ' or ' food '. ' (z|f) Ood ' matches ' zood ' or ' food '.

[XYZ]

Character. Matches any one of the characters contained. For example, "[ABC]" matches "a" in "plain".

[^XYZ]

The reverse character set. Matches any characters that are not included. For example, "[^abc]" matches "P" in "plain".

[A-Z]

The range of characters. Matches any character within the specified range. For example, "[A-z]" matches any lowercase letter in the range "a" through "Z".

[^ A-Z]

The reverse range character. Matches any character that is not in the specified range. For example, "[^a-z]" matches any character that is not in the range "a" through "Z".

\b

Matches a word boundary, which is the position between the word and the space. For example, "er\b" matches "er" in "never", but does not match "er" in "verb".

\b

Non-word boundary matching. "er\b" matches "er" in "verb", but does not match "er" in "Never".

\cx

Matches the control characters indicated by x . For example, \cm matches a control-m or carriage return character. The value of x must be between A-Z or a-Z. If this is not the case, then C is assumed to be the "C" character itself.

\d

numeric character matches. equivalent to [0-9].

\d

Non-numeric character matching. is equivalent to [^0-9].

\f

A page break match. Equivalent to \x0c and \CL.

\ n

Line feed character matching. Equivalent to \x0a and \CJ.

\ r

Matches a carriage return character. Equivalent to \x0d and \cm.

\s

Matches any white space character, including spaces, tabs, page breaks, and so on. is equivalent to [\f\n\r\t\v].

\s

Matches any non-white-space character. is equivalent to [^ \f\n\r\t\v].

\ t

tab matching. is equivalent to \x09 and \ci.

\v

Vertical tab matching. is equivalent to \x0b and \ck.

\w

Matches any word class character, including underscores. is equivalent to "[a-za-z0-9_]".

\w

Matches any non word character. is equivalent to "[^a-za-z0-9_]".

\xN

Match N, where n is a hexadecimal escape code. The hexadecimal escape code must be exactly two digits long. For example, "\x41" matches "A". "\x041" is equivalent to "\x04" & "1". Allows ASCII code to be used in regular expressions.

\Num

Matches num, where num is a positive integer. The reverse reference to the capture match. For example, "(.) \1 "matches two consecutive identical characters.

\N

Identifies a octal escape code or a reverse reference. If n is preceded by at least N catch subexpression, then n is a reverse reference. Otherwise, if n is the octal number (0-7), then n is the octal escape code.

\nm

Identifies a octal escape code or a reverse reference. nm is a reverse reference if there are at least nm capture subexpression in front of \nm . If there are at least n captures before \nm , n is a reverse reference followed by a character m. If neither of the preceding conditions exists, \nm matches the octal value nm, where n and m are octal digits (0-7).

\NML

When N is a octal number (0-3), andm and l are octal numbers (0-7), the octal escape code NMLis matched.

\uN

Match N,

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.