加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

JavaScript 正则表达式(笔记)

发布时间:2016-11-28 17:25:24 所属栏目:大数据 来源:站长网
导读:一 什么是正则表达式 // 正则表达式(regular expression)是一个描述字符模式的对象; // JS定义RegExp类表示正则表达式; // String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换的函数; 二 创建正则表达式 1.创建正则表达式 // JS提供

实例:
pattern = /g..gle/;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; // ".":匹配任意一个字符;
pattern = /g.*gle/;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; // ".*":匹配0个或任意多个字符;
pattern = /g[a-z]*gle/;nbsp;nbsp;nbsp;nbsp; // [a-z]*:匹配任意个a-z中的字符;
pattern = /g[^0-9]*gle/;nbsp;nbsp;nbsp; // [^0-9]*:匹配任意个非0-9的字符;
pattern = /[a-z][A-Z]+/;nbsp;nbsp;nbsp; // [A-Z]+:匹配A-Z中的字符一次或多次
pattern = /gw*gle/;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; // w*:匹配任意多个所有字符数字及_;
pattern = /googled*/;nbsp;nbsp;nbsp;nbsp;nbsp; // d*:匹配任意多个数字;
pattern = /D{7,}/;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; // D{7,}:匹配至少7个非数字;
pattern = /^google$/;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; // "^":从开头匹配;"$":从结尾匹配;
var pattern = /8(.*)8/;
var str = 'This is 8google8';
str.match(pattern);
console.log(RegExp.$1);nbsp;nbsp;nbsp;nbsp; // 得到第一个分组里的字符串内容;

2.贪婪和惰性
+nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; +#63;
#63;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; #63;#63;
*nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; *#63;
{n}nbsp;nbsp;nbsp;nbsp;nbsp; {n}#63;
{n,}nbsp;nbsp;nbsp;nbsp; {n,}#63;
{n,m} {n,m}#63;
var pattern = /[a-z]+#63;/;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; //"#63;":关闭了贪婪匹配,只替换了第一个;
var str = 'abcdefg';
alert(str.replace(pattern,'xxx'));nbsp;nbsp;nbsp; // =gt;xxxdefg;

// 使用exec返回数组
var pattern = /^[a-z]+s[0-9]{4}$/i;
var strnbsp; = 'google 2015';
alert(pattern.exec(str)[0]);nbsp;nbsp;nbsp; // 返回整个字符串=gt;google 2015;

var pattern = /^[a-z]+/i;
var str = 'google 2015';
alert(pattern.exec(str));nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; //返回匹配到的字母=gt;google;

// 使用特殊字符匹配;
var pattern = /.[/b]/;
var str = '.[/b]';
alert(pattern.test(str));

// 使用换行模式
var pattern = /^d+/mg;
var str = '1.baidun2.googlen3.bing';
var result = str.replace(pattern,"#");
alert(result);nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; // #.baidunbsp; #.googlenbsp; #.bing;

四 常用的正则

1.检查邮政编码
// 共6位数字,第一位不能为0;
var pattern = /[1-9][0-9]{5}/;
var str = '224000';
alert(pattern.test(str));

2.检查文件压缩包
// 数字+字母+_+.+zip|rar|gz
var pattern = /[w]+.zip|rar|gz/;
var str = '123.zip';
alert(pattern.test(str));

3.删除多余空格
var pattern = /s/g;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; // 必须全局,才能全部匹配;
var str = '111 222 333';
var result = str.replace(pattern,"");

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读