正则表达式
2019-04-09 本文已影响0人
cj小牛
简介
正则表达式:用于匹配规律规则的表达式,正则表达式最初是科学家对人类神经系统的工作原理的早期研究,现在在变成语言中有广泛的应用。正则表通常被用来检索、替换那些符合一个模式的文本。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、就这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
- 正则表达式的作用
1 给定的字符串是否符合正则表达式的过滤逻辑。(匹配)
2 可以通过正则表达式,从字符串中获取我们想要的特定部分。(提取)
3 强大的字符串替换能力。(替换)
使用举例 邮箱格式,手机格式 生日格式 - 正则表达式的特点
1 灵活、逻辑性和功能性非常强。
2 可以迅速的使用极简单的方式达到字符长的复杂控制
3 对于刚接触的人来说,比较难懂 - 正则表达式的测试
在线测试 https://c.runoob.com/front-end/854
工具中测试。 - 正则表达式组成
- 普通字符 abc
2 特殊字符 (元字符)
- 普通字符 abc
- 元字符
\d 匹配一个数字
\D 匹配任意非数字的字符
\w 匹配字母或数字或下划线
\W 匹配任意不是字母数字或者下划线
\s 匹配任意的空白符
\S 匹配空格以外的所有字符
. 匹配任意的单个字符(除了换行)
^ 以什么开头
¥ 以什么结束 - 限定符号
’* 重复零次或者更多次
'+ 重复一次或者更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或者更多次
{n,m}重复n到m 次 - 其他
[]字符串用中括号括起来,表示匹配其中的任一字符,相当于或的意思.
[^]匹配除除中括号以内的内容
\ 转义字符号
| 或者,选择两者中的一个,注意| 经左右两本分为两部分,而不管左右两边有多长多乱
()从两个直接量中选择一个,分组 eg :gr(a|e)y 匹配 gray 和grey;
[\u4e00-\u9fa5]匹配汉字
联系
邮编10010 ^[1]\d{5}
时间 2015-1-01 ^\d{4,4}-\d{1,2}-\d{1,2}$
js中使用正则表达式
*RegExp
test()匹配
exec() 提取
// regExp 是js中的正则表达式
// 这个对象创建有两个参数
// 第一个参数是模式 patter 字符串
// 第二个参数flag i 忽略大消息 g 全局匹配
// var regExp = new regExp('ab[a-z]','i');
// var str = 'abcsdddsa';
// regExp.test(str);
// console.log(regExp.test(str));
//方式二
var regExp= /ab[a-z]/;
console.log(regExp.test("abc"));
邮箱 xxx@ita.com.cn ^\w{1,}@\w{1,}(.\w{1,})+
-
string 对象的正则表达式
match()提取(可以是多个内容)var str= ‘张三:1000,李四:5000,陈二50000’; var reg = /\d+/g; str.match(reg);
split() 切割
var time= ‘2015-05-01’
time.splite(-);
replace() 替换
var time= ‘ fsf dfsfdsf. dfsf. fsfa ’
replace(/\s/g/,"");
search()