【记录】正则表达式学习第3天(正则学习笔记),又解决了个实际问题。
本来是昨天发的,但是网络太卡了。所以推迟了一天。
先看看我今天都学了什么?
下面的东东,不仅仅是贴出来就可以了。
而是一定要记住他,知道如何使用哦。虽然我可能还不熟练。但是已经掌握了一部分。
这里记录下来。忘记了,还要回来看看的。
对了我的参考资料是:http://wenku.baidu.com/view/a50e08b91a37f111f1855b67.html 百度文库。
. | 匹配除换行符的任意字符 |
\w | 匹配字母,数字,下划线,汉字 |
\s | 匹配任意空白符 |
\d | 匹配数字 |
^ | 匹配字符开始位置 |
$ | 匹配字符结束位置 |
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
{n} | 重复N次 |
{n,} | 重复N次或更多次 |
{n,m} | 重复N次或m次 |
常用反义代码 | |
---|---|
\W | 匹配任意不是字母,数字,下划线,汉字的字符 |
\S | 匹配任意不是空白符的字符 |
\D | 匹配任意不是数字的字符 |
\B | 匹配任意不是单词开始或者结束的位置 |
[^x] | 匹配除x以外的任意字母(我看的资料上是字符不是字母) |
[^aeiou] | 匹配除aeiou以外的任意字母(我看的资料上是字符不是字母) |
常用分组语法 | ||
---|---|---|
捕获 | (exp) | 匹配exp,并捕获文本到自动命名组里 |
(?<name>exp) | 匹配exp,并捕获文本到name命名组里,也可以写成(?'name'exp) | |
(?:exp) | 匹配exp,不捕获匹配的文本,也不为次组分配组号 | |
零宽断言 | (?=exp) | 断言自身出现的后面能匹配exp |
(?<=exp) | 断言自身出现的前面能匹配exp | |
(?!exp) | 断言自身出现的后面不能匹配exp | |
(?<!exp) | 断言自身出现的前面不能匹配exp | |
注释 | (?#comment) | 次分组不对正则产生任何影响,提供注释的作用 |
懒惰限定符 | |
---|---|
*? | 重复任意次数,但是尽可能少 |
+? | 重复1次或者更多次,但是尽可能少 |
?? | 重复0次或者1次,但是尽可能少 |
{n,m} | 重复n次到m次,但是尽可能少 |
{n,} | 重复n次以上,但是尽可能少 |
看我解决的实际问题吧:
去掉HTML标签
看代码:
(function(){
var $=function(id){return document.getElementById(id);},
re=/<\w+[\/]?>|<[\/]\w+>|<.*?>|&\w+;/g;// <\w+[\/]?> 匹配<hr/><br/>这样的标 /在后面//<[\/]\w+> 匹配</div></p>这样的标签 /在后面//<.*?> 匹配 标签里面还有很多熟悉 比如a 标签里面还有连接啊什么的 所以使用.号// 最后的*?很关键哦。 他尽可能匹配距离上一个< 最近的 >符号。//今天感觉这个也不完美。==写个好一点的贴上来。
$("zz").onclick=function(){
$("bbb").value=($("aaa").value.replace(re,""));
};
})()