一、验证网站
1.https://regexper.com/
2.http://www.regexr.com/
Character classes | |
---|---|
. | any character except newline |
w d s | word, digit, whitespace |
W D S | not word, digit, whitespace |
[abc] | any of a, b, or c |
[^abc] | not a, b, or c |
[a-g] | character between a & g |
Anchors | |
^abc$ | start / end of the string |
B | word, not-word boundary |
Escaped characters | |
. * \ | escaped special characters |
tab, linefeed, carriage return | |
u00A9 | unicode escaped © |
Groups & Lookaround | |
(abc) | capture group |
1 | backreference to group #1 |
(?:abc) | non-capturing group |
(?=abc) | positive lookahead |
(?!abc) | negative lookahead |
Quantifiers & Alternation | |
a* a+ a? | 0 or more, 1 or more, 0 or 1 |
a{5} a{2,} | exactly five, two or more |
a{1,3} | between one & three |
a+? a{2,}? | match as few as possible |
ab|cd | match ab or cd |
二、常用正则
1.去掉字符串中的html标签
var str = "<span style='display:none;'>This is test</span><img src=''>ss</img><strong></strong><br/>"; str.replace(/<[^>]+>/g,"");//去掉所有的html标记
去掉网页中的所有的html标签
string temp = Regex.Replace(html, "<[^>]*>", ""); //html是一个要去除html标记的文档
2.得到网页上的链接地址
string matchString = @"<a[^>]+href=s*(?:'(?<href>^']+)'|""(?<href>[^""]+)""|(?<href>[^>s]+))s*[^>]*>";
3.去掉CSS样式
$content = str.replace(/<!--[^>]*-->/i, "");//注释内容
$content = str.replace(/style=.+?['|"]/i,'');//去除样式
$content = str.replace(/class=.+?['|"]/i,'');//去除样式
$content = str.replace(/id=.+?['|"]/i,'');//去除样式
$content = str.replace(/lang=.+?['|"]/i,'');//去除样式
$content = str.replace(/width=.+?['|"]/i,'');//去除样式
$content = str.replace(/height=.+?['|"]/i,'');//去除样式
$content = str.replace(/border=.+?['|"]/i,'');//去除样式
$content = str.replace(/face=.+?['|"]/i,'');//去除样式
$content = str.replace(/face=.+?['|"]/,'');//去除样式 只允许小写 正则匹配没有带 i 参数
4.email正则表达式
zhangshan@163.com,abc@sina.com.cn , zhangshna.Mr@163.com , abc_Wang.dd@sian.com , abc_Wang.dd.cc@sian.com 这种类似的形式,在@符号之前还有点.
/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/; //原来的正则表达式
/^(w)+(.w+)*@(w)+((.w{2,3}){1,3})$/; //修改后的正则表达式
/^(w)+(.w+)*@(w)+((.w+)+)$/; //修改后的正则表达式
字符描述:
-
- ^ :匹配输入的开始位置。
- :将下一个字符标记为特殊字符或字面值。
- * :匹配前一个字符零次或几次。
- + :匹配前一个字符一次或多次。
- (pattern) 与模式匹配并记住匹配。
- x|y:匹配 x 或 y。
- [a-z] :表示某个范围内的字符。与指定区间内的任何字符匹配。
- w :与任何单词字符匹配,包括下划线。
- {n,m} 最少匹配 n 次且最多匹配 m 次
- $ :匹配输入的结尾。
参考: php 去除html标签和CSS等 https://gist.github.com/wdd2007/3713543
email正则表达式 http://www.cnblogs.com/vs-bug/archive/2010/03/26/1696752.html