Complete set of expressions
character | describe |
---|---|
\ | Marks the next character as a special character, or a literal character, or a backreference, or an octal escape. For example, " n " matches the character " n ". " \n " matches a newline character. The serial " \\ " matches " \ " and " \( " matches " ( ". |
^ | Matches the starting position of the input string. If the Multiline property of the RegExp object is set, ^ also matches the position after " \n " or " \r ". |
$ | Matches 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 subexpression zero or more times. For example, zo* can match " z " as well as " zoo ". * Equivalent to {0,}. |
+ | Matches the preceding subexpression one or more times. For example, " zo+ " can match " zo " and " zoo ", but not " z ". + is equivalent to {1,}. |
? | Matches the preceding subexpression zero or one time. For example, " do(es)? " can match " " in " does " or " ". ? is equivalent to {0,1}.does do |
{n} | n is a non-negative integer. Match a certain number of n times. For example, " o{2} " cannot match " Bob " in " o ", but can match food two o's in " ". |
{n,} | n is a non-negative integer. Match at least n times. For example, " o{2,} " cannot match " Bob " in " o ", but can match foooood all o's in " ". " o{1,} " is equivalent to " o+ ". " o{0,} " is equivalent to " o* ". |
{n,m} | Both 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} " will match fooooood the first three o's in " ". " o{0,1} " is equivalent to " o? ". Note that there can be no spaces between the comma and the two numbers. |
? | When the character immediately follows any one of the other qualifiers (*,+,?, { n }, { n ,}, { n , m }), the matching pattern is non-greedy. The non-greedy mode matches as little of the searched string as possible, while the default greedy mode matches as much of the searched string as possible. For example, for the string " oooo ", " o+? " will match a single " o ", and " o+ " will match all " o ". |
. | Matches \ n any single character except " ". To match \ n any character including " ", use (.|\n) a pattern like " ". |
(pattern) | Match pattern and get that match. The retrieved matches can be obtained from the resulting Matches collection, using the SubMatches collection in VBScript and the $0…$9 properties in JScript. To match parenthesis characters, use " \( " or " \) ". |
(?:pattern) | Matches the pattern but does not get the result of the match, that is, it is a non-getting match and is not stored for later use. This is useful when using the or character " (|) " to combine parts of a pattern. For example, " industr(?:y|ies) " is a industry|industries more abbreviated expression than " ". |
(?=pattern) | Positive positive lookahead matches the lookup string at the beginning of any string matching pattern. This is a non-acquisition match, that is, the match does not need to be acquired for later use. For example, " Windows(?=95|98|NT|2000) " can match " Windows2000 " in " Windows ", but not " Windows3.1 " in " Windows ". Lookahead consumes no characters, that is, after a match occurs, the search for the next match begins immediately after the last match, not after the character containing the lookahead. |
(?!pattern) | Forward negative lookahead, which matches the lookup string at the beginning of any string that does not match pattern. This is a non-acquisition match, that is, the match does not need to be acquired for later use. For example, " Windows(?!95|98|NT|2000) " can match " Windows3.1 " in " Windows ", but not " Windows2000 " in " Windows ". Lookahead consumes no characters, that is, after a match occurs, the search for the next match begins immediately after the last match, not after the character containing the lookahead |
(?<=pattern) | Reverse positive pre-check is similar to positive positive pre-check, but in the opposite direction. For example, " (?<=95|98|NT|2000)Windows " can match " 2000Windows " in " Windows ", but not " 3.1Windows " in " Windows ". |
(?<!pattern) | The reverse negative pre-check is similar to the forward negative pre-check, but in the opposite direction. For example, " (?<!95|98|NT|2000)Windows " can match " 3.1Windows " in " Windows ", but not " 2000Windows " in " Windows ". |
x|y | matches x or y. For example, " z|food " can match " z " or " food ". " (z|f)ood " matches " zood " or " food ". |
[xyz] | character collection. Matches any one of the included characters. For example, " [abc] " can match " plain " in " a ". |
[^xyz] | A collection of negative characters. Matches any character not included. For example, " [^abc] " can match " plain " in " p ". |
[a-z] | character range. Matches any character in the specified range. For example, " [a-z] " can match any lowercase alphabetic character in the range " a " to " ".z |
[^a-z] | Negative character range. Matches any arbitrary character not in the specified range. For example, " [^a-z] " can match any character that is not in the range " a " to " z ". |
\b | Matches a word boundary, that is, the position between a word and a space. For example, " er\b " can match " never " in " er ", but not " verb " in " er ". |
\B | 匹配非单词边界。“er\B ”能匹配“verb ”中的“er ”,但不能匹配“never ”中的“er ”。 |
\cx | 匹配由x指明的控制字符。例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的“c ”字符。 |
\d | 匹配一个数字字符。等价于[0-9]。 |
\D | 匹配一个非数字字符。等价于[^0-9]。 |
\f | 匹配一个换页符。等价于\x0c和\cL。 |
\n | 匹配一个换行符。等价于\x0a和\cJ。 |
\r | 匹配一个回车符。等价于\x0d和\cM。 |
\s | 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。 |
\S | 匹配任何非空白字符。等价于[^ \f\n\r\t\v]。 |
\t | 匹配一个制表符。等价于\x09和\cI。 |
\v | 匹配一个垂直制表符。等价于\x0b和\cK。 |
\w | 匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_] ”。 |
\W | 匹配任何非单词字符。等价于“[^A-Za-z0-9_] ”。 |
\xn | 匹配n,其中n为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,“\x41 ”匹配“A ”。“\x041 ”则等价于“\x04&1 ”。正则表达式中可以使用ASCII编码。. |
\num | 匹配num,其中num是一个正整数。对所获取的匹配的引用。例如,“(.)\1 ”匹配两个连续的相同字符。 |
\n | 标识一个八进制转义值或一个向后引用。如果\n之前至少n个获取的子表达式,则n为向后引用。否则,如果n为八进制数字(0-7),则n为一个八进制转义值。 |
\nm | 标识一个八进制转义值或一个向后引用。如果\nm之前至少有nm个获得子表达式,则nm为向后引用。如果\nm之前至少有n个获取,则n为一个后跟文字m的向后引用。如果前面的条件都不满足,若n和m均为八进制数字(0-7),则\nm将匹配八进制转义值nm。 |
\nml | 如果n为八进制数字(0-3),且m和l均为八进制数字(0-7),则匹配八进制转义值nml。 |
\un | 匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。例如,\u00A9匹配版权符号(©)。 |
常用正则表达式
用户名 | /^[a-z0-9_-]{3,16}$/ | |
---|---|---|
密码 | /^[a-z0-9_-]{6,18}$/ | |
十六进制值 | /^#?([a-f0-9]{6}|[a-f0-9]{3})$/ | |
电子邮箱 | /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/ /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/ |
|
URL | /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/ | |
IP 地址 | /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/ /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ |
|
HTML 标签 | /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/ | |
删除代码\\注释 | (?<!http:|\S)//.*$ | |
匹配所有的小写字母 | [a-z] | |
匹配所有的大写字母 | [A-Z]td> | |
匹配所有的字母 | [a-zA-Z]td> | |
匹配所有的数字 | [0-9]td> | |
匹配所有的数字,句号和减号 | [0-9\.\-] | |
匹配所有的白字符 | [ \f\r\t\n] | |
Unicode编码中的汉字范围 | /^[\u2E80-\u9FFF]+$/ |