数码控科技猎奇Iphone动漫星座游戏电竞lolcosplay王者荣耀攻略allcnewsBLOGNEWSBLOGASKBLOGBLOGZSK全部技术问答问答技术问答it问答代码软件新闻开发博客电脑/网络手机/数码笔记本电脑互联网操作系统软件硬件亚洲最佳在线娱乐平台开发360产品资源分享电脑知识文档中心IT全部全部分类全部分类技术牛文全部分类教程最新网页制作cms教程平面设计媒体动画操作系统网站运营网络安全服务器教程亚洲最佳在线娱乐平台工具网络安全软件教学vbscript正则表达式javascript批处理更多»亚洲最佳在线娱乐平台更新教程更新游戏更新allitnewsJava新闻网络医疗信息化安全创业站长电商科技访谈域名会议专栏创业动态融资创投创业学院 / 产品经理创业公司人物访谈营销开发亚洲最佳在线娱乐平台服务器系统虚拟化云计算嵌入式移动开发作业作业1常见软件all电脑网络手机数码生活游戏体育运动明星影音休闲爱好文化艺术社会民生教育科学医疗健康金融管理情感社交地区其他电脑互联网软件硬件亚洲最佳在线娱乐平台开发360相关产品手机平板其他电子产品摄影器材360硬件通讯智能设备购物时尚生活常识美容塑身服装服饰出行旅游交通汽车购房置业家居装修美食烹饪单机电脑游戏网页游戏电视游戏桌游棋牌游戏手机游戏小游戏掌机游戏客户端游戏集体游戏其他游戏体育赛事篮球足球其他运动球类运动赛车健身运动运动用品影视娱乐人物音乐动漫摄影摄像收藏宠物幽默搞笑起名花鸟鱼虫茶艺彩票星座占卜书画美术舞蹈小说图书器乐声乐小品相声戏剧戏曲手工艺品历史话题时事政治就业职场军事国防节日风俗法律法规宗教礼仪礼节自然灾害360维权社会人物升学入学人文社科外语资格考试公务员留学出国家庭教育学习方法语文物理生物工程学农业数学化学健康知识心理健康孕育早教内科外科妇产科儿科皮肤科五官科男科整形中医药品传染科其他疾病医院两性肿瘤科创业投资企业管理财务税务银行股票金融理财基金债券保险贸易商务文书国民经济爱情婚姻家庭烦恼北京上海重庆天津黑龙江吉林辽宁河北内蒙古山西陕西宁夏甘肃青海新疆西藏四川贵州云南河南湖北湖南山东江苏浙江安徽江西福建广东广西海南香港澳门台湾海外地区

亚博注销新宝五登陆

来源:乐虎lehu国际娱乐之家  责任编辑:小易  

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。

正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。

下面通过实例代码介绍下正则表达式使用

//一个数据类型,记录文本规则,一些事先定义好的一些特殊字符,对字符串的过滤逻辑

//表单验证账号长度,字母或数字组合,高级搜索

//特点,不仅js有;极简的方式操作字符串;灵活,功能强大

// 正则表达式大全

var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));

/*是否带有小数*/

function isDecimal(strValue ) {
var objRegExp= /^\d+\.\d+$/;
return objRegExp.test(strValue);
}

/*校验是否中文名称组成 */

function ischina(str) {
var reg=/^[\u4E00-\u9FA5]{2,4}$/; /*定义验证表达式*/
return reg.test(str); /*进行验证*/
}

/*校验是否全由8位数字组成 */

function isStudentNo(str) {
var reg=/^[0-9]{8}$/; /*定义验证表达式*/
return reg.test(str); /*进行验证*/
}
var arr = new Array();
var reg = new RegExp(/\d/);

//表示匹配数字

reg = reg.test("jndwjdw");
console.log(reg);

//正则对象。test(需要验证的字符串)

//字面量声明

var reg2 = /男|女/;

//有没有其中一个

var reg = reg2.test("呦呦哟偶女");
console.log(reg);
console.log(/男|女/.test("哈迪哈迪哈女"));

//语法

//.test();正则表达式检测某段字符串

//预定义类

console.log(/./.test("\r")); //除了回车和换行外的任意字符 
console.log(/\d/.test("123")); //检测是不是数字 
console.log(/\D/.test("sh")); //非数字字符,只要不是数字就true,只要有一个就是true 
console.log(/\s/.test("\r")); //只要有不可见就true\r\n\f\h\两个空字符串拼接是false 
console.log(/\S/.test("ah7")); //只要有可见字符就对 
console.log(/\w/.test("b-8")); //所有字母数字和下短线_,只要有就是对短线 
console.log(/\W/.test(("bg8-@"))); //true//只要有非单词字符就是对 

//自定义类,没有\

console.log(/d/.test("123")); //检测这段里面有不有d这个字 // 
console.log(/yskma/.test("yskmama")); //true//检测这段字符串包不包含yskma,不能断开不能中间穿插别的 
console.log(/yskmama/.test("ysk")); //false //或和优先级 
console.log(/ysk|mama/.test("ysk")); //true 
console.log(/ys(k|m)a/.test("ysk")); //false//检测这段字符串中有不有yska或者ysma 
console.log(/ys(k|m)a/.test("yskma")); //false//检测这段字符串中有不有yska或者ysma 

//简单类[]代表一个字符

console.log(/[abc]/.test("gbhigf")); //true//只要出现abc中 的任意一个就是对 
console.log(/y[abc]z/.test("yaz")); //true//包含yz,并选一个a 
console.log(/y[abc]z/.test("yabcz")); //false//abc只能要一个 

//负向类[^ ]取反

console.log(/[^abc]/.test("a")); //false//除了括号外的内容才是对,有就是错,不能有括号内的 
console.log(/[^abc]/.test("af")); //true//除了括号外的内容才是对,有就是错,不能有括号内的 

//范围类

console.log(/[0-9]/.test("b8jg")); //true

//组合类,组合起来就是组合类,自定义类

//^边界,以。。开头

//$以。。结尾

//^bc$严格匹配

//.回车和换行以外的

console.log(/^6a/.test("6akjjkak")); //true 
console.log(/^6.a/.test("6akjjkak")); //false 
console.log(/[.]{8}/.test("6akjjkak")); //false,当前"."就是代表字符串".",此处没有8个".",所以false;
console.log(/ac$/.test("6akjjkakac")); //true//ac结尾 
console.log(/^6a$/.test("6a")); //true 
console.log(/^\d$/.test("9")); //true//只能出现一次 
console.log(/^abc\d$/.test("abc7")); //true//只能出现一次 

//量词:?0||1次;+前面的>=1次;*>=0次

console.log(/^colo*r$/.test("color")); //true 
console.log(/^colo+r$/.test("color")); //true 
console.log(/^colo?r$/.test("color")); //true 
console.log(/^colo?r$/.test("colr")); //true 
console.log(/^colo?r$/.test("coloor")); //false 
console.log(/^colo*r$/.test("colooooooor")); //true 

//量词,{}前面出现的:。。{n}n次;{n,}>=n;{n,m}...>=n..<=m

//*{0,}..?{0,1}....+{1,}

//括号总结{}次数;[]一个;()一组,分组

//转Unicode:escape("你好")-----Ununicod("u%hkkblpp%^Vhk")

//所有汉字在一到与之间

console.log(/[\u4e00-\u9fa5]/.test("哈"));
console.log(/[\u4e00-\u9fa5]{3}/.test("哈你好"));

//字符串替换

var str = "abcde";
console.log(str.replace("a", "b")); //bbcde
console.log(str.replace(/a/g, "b")); //bbcde

//换成句号

var str = "a,b,c,d,e";
var str2 = str.replace(/,/g, "."); //g是替换全部 
console.log(str2);

//修改成绩

var str = "a,b,c,70,90";
var str2 = str.replace(/\d{1,}/g, "100"); //g是替换全部 
console.log(str2); //吧,.都改成。 
var str = "a,b,c,70,90.";
var str2 = str.replace(/[ , , .]/g, "。"); //g是替换全部 
console.log(str2);
var stra = " abc "
function MyTirm(stra) {
var str3 = stra.replace(/^\s+|\s+$/g, ""); //去掉前后空格空格换成空字符串 
return str3;
}
var str2 = MyTirm(stra);
console.log("==" + str2 + "==");

//想要的字符提取出来,提取邮箱 //来不及写

//math,提取符合要求的元素

//分组提取,提取邮箱的每一个部分

RegExp.$1, RegExp.$2, RegExp.$3

//检索字符indexof();lastindexof();返回下标

var str = "张三:1000,李四:5000,王五:8000。";
var arr = str.match(/\d+/g);
console.log(arr); //math返回数组,提取元素

//exec只取一个,math可以取全部的

//正则对象:test,exec........字符串:math,spilt,search,

//用某个字符分隔字符串

var str = "123123@xx.com,fangfang@valuedopinions.cn 286669312@qq.com 2、emailenglish@emailenglish.englishtown.com 286669312@qq.com...";
var arr = str.match(/\w+@\w+(\.\w+)+/g);
console.log(arr);

//6 分组提取

//提取email中的每一部分 
var str = "123123@xx.com";
var reg = /(\w+)@(\w+)\.(\w+)(\.\w+)?/;
var array = str.match(reg); //获取分组的数据 ()是分组 
console.log(RegExp.$1); //123123 
console.log(RegExp.$2); //xx 
console.log(RegExp.$3); //com //分组练习 
var str = "5=a, 6=b, 7=c";
str = str.replace(/(\d)=(\w)/g, "$2====$1"); //吧567分3组,吧abc分3组,2组在前面,1组在后面 
console.log(str);

//i 忽略大小写

//g 全局匹配

//控制字符串相关方法

//1、正则对象的 test exec

//2、字符串的 replace search match split

//用法:

console.log(/\d/.test("123"));
console.log(/[\u4e00-\u9fa5]{3}/.test("哈你好"));
//除了.test和search方法能直接执行,math,replace,split,exec都需要数组接收返回值
var str = "abc100,ccc200,ddd300";
var arr = /\d+/.exec(str);
console.log(arr + "这儿"); //100//只能匹配一项,可以用在分组匹配
var arr = str.match(/\d+/g);
console.log(arr);
var str = "abc100ccc200ddd300";
var arr = str.split(/\d+/);
console.log(arr);
var str = "哈哈哈哈,100分"; //检索里面数字出现的下标 
console.log(str.search(/\d+/));
var str = "abcdebfg";
var strNew = str.replace("b", "d");
console.log(strNew);
console.log(str);
var v = 2
new RegExp("^\\d+" + v + "$").test(12) //true

总结

以上所述是小编给大家介绍的正则表达式使用示例详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

您可能感兴趣的文章:


  • 本文相关:
  • python正则表达式的7个使用典范(推荐)
  • js中使用正则表达式验证输入是否有特殊字符
  • c++使用正则表达式提取关键字的方法
  • 使用正则表达式去除所有html标签只保留文字
  • mysql使用正则表达式进行查询操作经典实例总结
  • 正则表达式断言、巡视(assertions)、正向断言、反向断言介绍
  • 正则表达式之 贪婪与非贪婪模式详解(概述)
  • 判断时间的正则表达式
  • js 正则表达式的位置匹配
  • 学php正则!超基础简单例子
  • python3爬虫之入门基础和正则表达式
  • 常用的jquery数字类型验证正则表达式整理
  • 正则表达式验证ipv4地址功能实例分析
  • 关于preg_replace函数的问题讲解
  • 亚洲最佳在线娱乐平台中使用正则表达式小结
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.pradaoutletonline.net All Rights Reserved