`

javascript Regular Expression.

    博客分类:
  • web
阅读更多
参考链接:http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:RegExp

1、创建方法:
var regExp = /pattern/flags.
or
var regExp = new RegExp("pattern"[, "flags"]);

flags取值: g - global match, i - ignore case, m - match over multiple lines.

2、Special characters in regular expressions

Character  Meaning
\

For characters that are usually treated literally, indicates that the next character is special and not to be interpreted literally.

For example, /b/ matches the character 'b'. By placing a backslash in front of b, that is by using /\b/, the character becomes special to mean match a word boundary.

-or-

For characters that are usually treated specially, indicates that the next character is not special and should be interpreted literally.

For example, * is a special character that means 0 or more occurrences of the preceding character should be matched; for example, /a*/ means match 0 or more a's. To match * literally, precede the it with a backslash; for example, /a\*/ matches 'a*'.

^

Matches beginning of input. If the multiline flag is set to true, also matches immediately after a line break character.

For example, /^A/ does not match the 'A' in "an A", but does match the first 'A' in "An A."

$

Matches end of input. If the multiline flag is set to true, also matches immediately before a line break character.

For example, /t$/ does not match the 't' in "eater", but does match it in "eat".

*

Matches the preceding item 0 or more times.

For example, /bo*/ matches 'boooo' in "A ghost booooed" and 'b' in "A bird warbled", but nothing in "A goat grunted".

+

Matches the preceding item 1 or more times. Equivalent to {1,}.

For example, /a+/ matches the 'a' in "candy" and all the a's in "caaaaaaandy".

?

Matches the preceding item 0 or 1 time.

For example, /e?le?/ matches the 'el' in "angel" and the 'le' in "angle."

If used immediately after any of the quantifiers *, +, ?, or {}, makes the quantifier non-greedy (matching the minimum number of times), as opposed to the default, which is greedy (matching the maximum number of times).

Also used in lookahead assertions, described under (?=), (?!), and (?:) in this table.

.

(The decimal point) matches any single character except the newline characters: \n \r \u2028 or \u2029.

For example, /.n/ matches 'an' and 'on' in "nay, an apple is on the tree", but not 'nay'.

(x)

Matches x and remembers the match. These are called capturing parentheses.

For example, /(foo)/ matches and remembers 'foo' in "foo bar." The matched substring can be recalled from the resulting array's elements [1], ..., [n] or from the predefined RegExp object's properties $1, ..., $9.

(?:x)

Matches x but does not remember the match. These are called non-capturing parentheses. The matched substring can not be recalled from the resulting array's elements [1], ..., [n] or from the predefined RegExp object's properties $1, ..., $9.

x(?=y)

Matches x only if x is followed by y. For example, /Jack(?=Sprat)/ matches 'Jack' only if it is followed by 'Sprat'. /Jack(?=Sprat|Frost)/ matches 'Jack' only if it is followed by 'Sprat' or 'Frost'. However, neither 'Sprat' nor 'Frost' is part of the match results.

x(?!y)

Matches x only if x is not followed by y. For example, /\d+(?!\.)/ matches a number only if it is not followed by a decimal point.

/\d+(?!\.)/.exec("3.141") matches 141 but not 3.141.

x|y

Matches either x or y.

For example, /green|red/ matches 'green' in "green apple" and 'red' in "red apple."

{n}

Where n is a positive integer. Matches exactly n occurrences of the preceding item.

For example, /a{2}/ doesn't match the 'a' in "candy," but it matches all of the a's in "caandy," and the first two a's in "caaandy."

{n,}

Where n is a positive integer. Matches at least n occurrences of the preceding item.

For example, /a{2,} doesn't match the 'a' in "candy", but matches all of the a's in "caandy" and in "caaaaaaandy."

{n,m}

Where n and m are positive integers. Matches at least n and at most m occurrences of the preceding item.

For example, /a{1,3}/ matches nothing in "cndy", the 'a' in "candy," the first two a's in "caandy," and the first three a's in "caaaaaaandy". Notice that when matching "caaaaaaandy", the match is "aaa", even though the original string had more a's in it.

[xyz]

A character set. Matches any one of the enclosed characters. You can specify a range of characters by using a hyphen.

For example, [abcd] is the same as [a-d]. They match the 'b' in "brisket" and the 'c' in "ache".

[^xyz]

A negated or complemented character set. That is, it matches anything that is not enclosed in the brackets. You can specify a range of characters by using a hyphen.

For example, [^abc] is the same as [^a-c]. They initially match 'r' in "brisket" and 'h' in "chop."

[\b]

Matches a backspace. (Not to be confused with \b.)

\b

Matches a word boundary, such as a space. (Not to be confused with [\b].)

For example, /\bn\w/ matches the 'no' in "noonday"; /\wy\b/ matches the 'ly' in "possibly yesterday."

\B

Matches a non-word boundary.

For example, /\w\Bn/ matches 'on' in "noonday", and /y\B\w/ matches 'ye' in "possibly yesterday."

\cX

Where X is a letter from A - Z. Matches a control character in a string.

For example, /\cM/ matches control-M in a string.

\d

Matches a digit character from any alphabet. Use [0-9] to match only Basic Latin alphabet digits.

For example, /\d/ or /[0-9]/ matches '2' in "B2 is the suite number."

\D

Matches any non-digit character (all alphabets). [^0-9] is the Basic Latin alphabet equivalent of \D

For example, /\D/ or /[^0-9]/ matches 'B' in "B2 is the suite number."

\f

Matches a form-feed.

\n

Matches a linefeed.

\r

Matches a carriage return.

\s

Matches a single white space character, including space, tab, form feed, line feed and other unicode spaces.[1]

For example, /\s\w*/ matches ' bar' in "foo bar."

\S

Matches a single character other than white space.[2]

For example, /\S\w*/ matches 'foo' in "foo bar."

\t

Matches a tab.

\v

Matches a vertical tab.

\w

Matches any (Basic Latin alphabet) alphanumeric character including the underscore. Equivalent to [A-Za-z0-9_].

For example, /\w/ matches 'a' in "apple," '5' in "$5.28," and '3' in "3D."

\W

Matches any non-(Basic Latin)word character. Equivalent to [^A-Za-z0-9_].

For example, /\W/ or /[^$A-Za-z0-9_]/ matches '%' in "50%."

\n

Where n is a positive integer. A back reference to the last substring matching the n parenthetical in the regular expression (counting left parentheses).

For example, /apple(,)\sorange\1/ matches 'apple, orange,' in "apple, orange, cherry, peach." A more complete example follows this table.

\0

Matches a NUL character. Do not follow this with another digit.

\xhh

Matches the character with the code hh (two hexadecimal digits)

\uhhhh

Matches the character with code hhhh


分享到:
评论

相关推荐

    基于Regular Expression的数据匹配验证.pdf

    在JavaScript中,Regular Expression可以用来验证用户输入的数据,以确保数据的正确性和合法性。 二、元字符和运算符 在Regular Expression中,元字符和运算符是非常重要的概念。元字符是指Regular Expression中的...

    正则表达式regularexpression手册下载.rar

    正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。它通过一种简洁的语法来定义一系列字符或字符串组合,帮助开发者快速定位和处理符合...

    Wrox - Beginning Regular Expressions.rar

    正则表达式(Regular Expression)是编程语言中用于模式匹配和文本搜索的一组字符序列。它在数据验证、文本提取、字符串替换等多个场景中有着广泛的应用。书中的内容通常会从以下几个方面展开: 1. **基础概念**:...

    Regular Expression Cookbook

    正则表达式(Regular Expression),简称为regex,是计算机科学中用于处理字符串的强大工具。它通过一种模式匹配的方式来搜索、替换或提取文本,广泛应用于文本编辑器、编程语言、搜索引擎以及各种数据处理任务中。...

    regular expression

    在各种编程语言中,如Perl、PHP、Python、JavaScript和Java,正则表达式都被广泛支持。 在Java中,虽然正则表达式的原生支持是在JDK的后续版本引入的,但可以通过Apache的Jakarta-ORO库来提前使用正则表达式功能。...

    javascript中expression的用法整理.docx

    然而,在本篇文章中,我们将重点探讨正则表达式(Regular Expression),即`RegExp`对象在JavaScript中的使用技巧及细节。正则表达式是一种强大的文本处理工具,能够帮助开发者执行诸如搜索、替换等操作。 #### 二...

    正则表达式手册,Regular Expression

    《Regular Expression》手册是一本专注于正则表达式的轻量级指南,特别适用于JavaScript开发者以及使用Java进行字符串操作的程序员。它详细阐述了正则表达式的语法、构造以及在实际应用中的用法,帮助开发者快速理解...

    javascript权威指南(第六版)

    5.1 Expression Statements 88 5.2 Compound and Empty Statements 88 5.3 Declaration Statements 89 5.4 Conditionals 92 5.5 Loops 97 5.6 Jumps 102 5.7 Miscellaneous Statements 108 5.8 Summary of ...

    正则表达式(regular expression)手册

    正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,广泛应用于数据验证、搜索与替换、文本分析等多个领域。在IT行业中,熟练掌握正则表达式能够极大地提升处理字符串问题的效率。...

    正则表达式regular expression详述

    正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换符合特定模式的字符串。在JavaScript中,正则表达式是通过RegExp对象实现的,自JavaScript 1.2版本开始引入。RegExp对象提供了多种...

    JavaScript Regular Expressions(PACKT,2015)

    JavaScript's implementation allows us to perform complex tasks with a few lines of code using regular expressions to match and extract data out of text. This book starts by exploring what a pattern ...

    JavaScript正则表达式.txt

    正则表达式(Regular Expression)是一种在文本中查找、匹配模式的强大工具,在JavaScript中广泛用于字符串搜索与替换、表单验证、数据清洗等场景。其核心在于定义一组规则来识别文本中的特定模式,这些规则包括普通...

    js-leetcode题解之10-regular-expression-matching.js

    js js_leetcode题解之10-regular-expression-matching.js

    正则表达式regular expression详述 最全

    正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。在JavaScript中,正则表达式由RegExp对象提供支持,自JavaScript 1.2版本起开始引入。它允许程序员创建复杂且灵活的模式来...

    regular.rar

    在JavaScript编程中,正则表达式(Regular Expression)是一种强大的文本处理工具,它用于匹配、查找、替换等字符串操作。"regular.rar"这个压缩包文件很可能是包含了一系列关于JavaScript正则表达式的实用函数,...

    regular-expression_jb51.rar

    正则表达式(Regular Expression),简称正则,是编程领域中一种强大的文本处理工具,用于高效地进行字符串的查找、替换、分割等操作。它通过一套特定的语法,可以匹配符合特定模式的字符串,广泛应用于数据验证、...

    Beginning.Regular.Expressions

    正则表达式(Regular Expression)是一种用于匹配字符串的强大工具。它由一系列字符和特殊符号组成,用于定义搜索模式。这些模式可以用来查找、替换、验证文本中的特定字符序列。 ##### 2. 基本元素 - **字符类**:...

    正则表达式(regular expression)手册(CHM)

    正则表达式,全称Regular Expression,是一种模式匹配语言,用于在文本中查找、替换或提取符合特定模式的字符串。它在IT行业中被广泛应用,包括数据验证、文本搜索与替换、网页爬虫等多个领域。本手册(CHM格式)...

    正则表达式 Regular Expression 正则表达式资料大全压缩包

    正则表达式(Regular Expression,简称regex)是用于在文本中匹配特定模式的强大工具,它在编程、数据处理和文本分析等领域中广泛应用。这个“正则表达式资料大全压缩包”很可能包含了各种教程、示例、参考手册以及...

Global site tag (gtag.js) - Google Analytics