正则表达式
限定符
?
eg:used?表示d可有可无,即它也可以匹配use。
*
eg:ab*c表示b可以出现零次或多次,即它也可以匹配ac、abc、abbc……
+
eg:ab+c表示b可以出现一次或多次,即它也可以匹配abc、abbc……
{...}
eg:ab{6}c表示b在中间出现 \(6\) 次,即它可以匹配abbbbbbc。
eg:ab{2,6}c表示b在中间出现 \(2\sim6\) 次,即它可以匹配abbc、abbbbbc……
eg:ab{2,}c表示b在中间出现 \(2\) 次以上,即它可以匹配abbc、abbbc……
\(\star\) 多次匹配:用()修饰。
- eg:(ab)+可以匹配多次ab的出现。
“或”运算
|
eg:a (cat|dog)可以匹配a cat或者a dog。注意括号不能少。
字符类
[...]
eg:[abc]+表示匹配的字符只能取自abc之间。
\(\star\) 也可以在中括号里表示范围。
- eg:[a-zA-Z]表示匹配所有英文字符。
^
eg:[^0-9]表示匹配所有的非数字字符(包括换行符)。
元字符
\d数字字符。
\w单词字符,即所有的英文字符、数字加上下划线。
\s空白符,同时包含空格、Tab 字符以及换行符。
\D非数字字符。
\W非单词字符。
\S非空白字符。
.任意字符,但不包含换行符。
^只匹配行首的字符。eg:^a只匹配行首的a。
$只匹配行尾的字符。eg:a$只匹配行尾的a。
贪婪与懒惰匹配
默认:Greedy Match。
使用.+?将其变成 Lazy Match。
eg:文本串:<span><b>TEST</b></span>
- 直接<.+>匹配:所有字符全部匹配。
- <.+?>匹配:分开匹配- <span>、- <b>、- </b>、- </span>。
补充
\b表示单词边界。收尾都可以加。
\.转义。
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号