javascript入门基础篇重点 第十六节----正则表达式
来源:互联网 发布:软件无线电系统架构 编辑:程序博客网 时间:2024/04/28 16:21
/ / 或者 new RegExp();
正则表达式
规则 ----> 用来匹配字符串的一套规则
正则表达式的写法:
/ /
new RegExp();当正则里面传参是变量的时候
test:
正则.test(字符串) 匹配成功返回true 不成功false
正则表达式 / / 用法
例如;
var str = 'sadKery23你好';
var reg = /23你/;
alert(reg.test(str));------>匹配23你
正则表达式 new RegExp()用法
var str = 'sadKery23你好';
var x = "Kery";
var reg = /x/;----------------------->当把kery赋值到x里面的时候在交由/ /进行判断的时候/x/里面的会变为匹配str里面有
var reg = new RegExp(x); 没有x这个字符,而不是匹配赋给x的kery这个值,所以要用到new RegExp()这种方法
alert(reg.test(str));
正则表达式之转义符号(\d 、\s 、\w等转义字符)
转义:
\把一些具有意义的某些字符变成没有特殊意义
\s 空字符
\S 字符串为" "就是false,里面有内容就是true
\d 数字 0-9
\D 非数字
\w 字符(数字、字母、_)
\W 非字符
. 任意字符
\. 真正的点
\n 换行符
\t 制表符
\b 独立的部分 英文单词
例题:
var str = "one two";
var reg = /\S/;
var reg = /\w/;
var reg = /\./;
var reg = /\bone\b/;
alert(reg.test(str));
知识点:
例1:
var str = "abc def";
var x = "abc";
var reg = new RegExp("\b"+x+"\b");----->当匹配独立的abc字符时进行转义字符\b不能写成"\b"(因为在双引号里面代表
alert(reg.test(str)); 用\把b变为无特殊意义应该改为"\\b")而整个表达式也该改为("\\b"+x+"\\b")
例2:
var str="123/456";
var reg=/ / /;------------->当用正则表达式//匹配str里面的/的时候浏览器会报错,需要将reg表达式改为/\/ /用反斜杠将/转
alert(reg.test(str)); 义为没有特殊含义的字符方便查找
正则表达式之量词(+ / * / ?)
量词:
{}
{1,5} 1<=n<=5
{1,} 1<=n
{3} 3=n
{1,} + 一次或多次
{0,} * 零次或多次
{0,1} ? 零次或一次
match:
str.match(reg) 匹配成功把匹配的字符放入数组,不成功返回null
例题:
var str = "a2ry35234adb";
var reg = /\d{2,4}/;结果为3523------>{2,4}表示匹配str里面最少连续两个以上或四个以下数字(例:a后面数字2只有其本
var reg = /\d+/g; 身一个数字不能满足最低要求2个,只能往后寻找匹配出3523)
alert(str.match(reg));
正则表达式之标识(g / m /i 的作用)
标识
g: 全局匹配
i: 不区分大小写匹配
m: 字符串换行了,就可以进行多行匹配
例题:
<body>
<div id="content">
你教育阿达阿萨德13ad
你好呀我的哥123
啊实打实大可垃圾啊123
</div>
<a href="javascript:void(0);" onclick="clickme();">点我</a>
<div id="show"></div>
<script>
var str = "aabc435ss34Aa";
var reg = /\d+/g;结果:435,34---------->匹配一次或多次数字,如果没有加上g代表不是全局搜索只会弹出435
var reg = /a+/ig;结果:aaAa------------->匹配一次或多次字母a,如果没有加上g代表不是全局搜索只会弹出aa,加上ig表示
alert(str.match(reg)); 不区分大小写进行全局搜索
正则把每一行的结尾数字换成'#'号---->多行匹配
function clickme(){
var con = document.getElementById("content").innerHTML;
var reg = /\d+$/mg;--------->用mg标示匹配多行文本最后面的数字
alert(con.match(reg));
var newCon = con.replace(reg,"#");
var reg = /^\s+|\s+$/mg;-------->匹配除空字符串以外的文本
document.getElementById("show").innerHTML = newCon;
};
</script>
</body>
正则表达式之字符集([a-z] 、^、$等的理解)
|代表或者
$代表字符串后面文本
[ ]字集----([a-d])------->表示a-d内的字母
[^ab] 除了ab之外,其他的都可以匹配
正则表达式之子集(子集与match匹配的关系)
子集 ()
match:
match匹配当没有全局g的时候,会把子集放入到匹配的数组当中,如果有全局g的时候,则不会
var str = "aabcd";
var reg = /(ab)+/g;------->当要匹配ab两个字符的时候只需要添加括号即可
var reg = /(ab|bc)d/g;
var reg = /(ab)(c)/;结果为abc,ab,c-------->当用(ab)(c)寻找时得出结果abc同时还会将用来搜寻的(ab)(c)在打印到
alert(str.match(reg)); 结果里面
正则表达式之replace方法
replace的使用
str.replace(reg,替换的内容);
str.replace(/^\s+|\s+$/mg,"");
- javascript入门基础篇重点 第十六节----正则表达式
- javascript入门基础篇重点 第四节
- javascript入门基础篇重点 第六节
- javascript入门基础篇重点 第七节
- javascript入门基础篇重点 第二节2.
- javascript入门基础篇重点 第一节
- javascript入门基础篇重点 第三节
- javascript入门基础篇重点 第五节
- javascript入门基础篇重点 第十节
- javascript入门基础篇重点 第十三节
- javascript 正则表达式入门基础—由浅入深
- javascript 正则表达式入门基础—由浅入深
- javascript入门基础(三) 正则表达式
- javascript 正则表达式入门基础—由浅入深
- JavaScript正则表达式入门
- javascript正则表达式入门
- [入门]javascript正则表达式
- 正则表达式入门基础
- Android DialogFragment引发的常见问题处理
- 我的ROS学习之路—创建catkin包
- cf 734 div2 A,B,C
- 《未解决的问题》
- 素数筛法
- javascript入门基础篇重点 第十六节----正则表达式
- No resource found that matches the given name 'android:TextAppearance.Material...'解决办法
- sources备份
- uva 10305 拓扑排序
- 我的ROS学习之路—ros相关命令
- 方维P2P短信接口修改
- 扩展欧几里德算法详解
- svn服务器备份与恢复
- 工厂模式下每天定期转移海量数据