正则匹配规则

//1.字面量  --  眼见为实

// var str = ‘sajkgdakgaksfgaksgtakuwgfjmaszgdfaksghdfasikld‘;

// var reg = /sa/;

// var res = str.match(reg);

// console.log(res);

//2.元字符

// 反斜杠\ 转义

//2.1 +号 需要转义

// var str = ‘sajkgd+ksfg32aksgtaku56wgfjma-szgdf+34435aksghdfa2sikld‘;

// var reg = /\+/;

// var res = str.match(reg);

// console.log(res);

//2.2 ^脱字符 也需要转义

// var str = ‘sajkgd+ksf^g32aksgtaku56wgfjma-szgdf+344^35aksghdfa2sikld‘;

// var reg = /\^/;

// var res = str.match(reg);

// console.log(res);

//2.3 除了+和^ 以下字符都是元字符 如果想使用其字面意义 需要转义

//正则中需要用反斜杠转义的字符:^、.、[、]、$、(、)、|、*、+、?、{、}、\

//3.^ -- 匹配字符串的开始位置

// var str = ‘aajkgd+ksf^g32aksgtaku56wgfjma-szgdf+344^35aksghdfa2sikld‘;

// var reg = /^a/;

// var res = reg.test(str);

// console.log(res);

//4.$ -- 匹配字符串的结尾位置

// var str = ‘aajkgd+ksf^g32aksgtaku56wgfjma-szgdf+344^35aksghdfa2sikld‘;

// var reg = /a$/;

// var res = reg.test(str);

// console.log(res);

//5.  .字符 -- 匹配除回车\r 换行\n 行分隔符\u2028 段分隔符\u2029以外的所有字符

// var str = ‘akdhuyjf‘;

// var reg = /h..y/;

// var res = str.match(reg);

// console.log(res);

//6.|竖线 表示或

// var str = ‘akdhuyjf‘;

// var reg = /h|b/;

// var res = reg.test(str);

// console.log(res);

//7.重复问题

// var str = ‘aajkgd+ksf^g32aksgtaku56wgfjma-szgdf+344^35aksghdfa2sikldfafsfasfasgtuotygh‘;

// //用花括号{}表示

// //m和n为数字

// //{m,n}出现m-n次

// //{m,}至少出现m次

// //{,n}正好出现n次

// var reg = /a.{0,}h/;

// var res = str.match(reg);

// console.log(res);

//8. ? 重复 相当于{0,1}

//var str = ‘akdhuyjfcdsfdsfdc‘;

//var reg = /a.?c/ //匹配ac或者是a.c

//9.* 重复 相当于{0,}

// var str = ‘asdasdasawrgfvdxbgdfzoawkughakjdvbksajnfkljsagfkladsb‘;

// var reg = /as*l/;

// var res = str.match(reg);

// console.log(res); //null

// //10.+ 重复 相当于{1,}

// var str = ‘102488888888391084710‘;

// var reg = /10248+839/;

// var res = str.match(reg);

// console.log(res);

//11.[] 选择 选择中括号里面的任意一个字符

// var str = ‘asdasdasawrgfvdxbgdfzoawkughakjdvbksajnfkljsagfkladsb‘;

// var reg = /das[12af]la/;

// var res = str.match(reg);

// console.log(res);

//12 连字符 - 主要用于连续的字符\

// var str = ‘sdas13356623517efaxfgz‘;

// var reg=/[s-z]/;

// var res = str.match(reg);

// console.log(res);

//13.脱字符 另一种用法

//前面讲过 ^表示匹配开始位置

// var str = ‘abckefk‘;

// var reg=/a[^bcdefh]c/;

// var res = str.match(reg);

// console.log(res);

//非的意思 只要不是括号[]里的字符都不能匹配

//14. /g 默认正则匹配到第一项满足条件后就结束匹配,/g可以全局匹配

// var str = ‘asaewafddfdsaDFFAFfafefsxgf‘;

// var reg = /a/g;

// var res = str.match(reg);

// console.log(res);

//15./i 正则默认是区分大小写的,对大小写敏感,加/i可以让其不区分大小写

// var str = ‘aAaewafadAdsaAaFfafAf‘;

// var reg = /a/ig;

// var res = str.match(reg);

// console.log(res);

//16.一些常见的简写形式

//16.1 \d 代表匹配数字[0-9]

// var str = ‘133566235171‘;

// var reg = /^1\d{11}$/;

// var res = str.match(reg);

// console.log(res);

//16.2 \D 除数字之外的[^0-9]

//16.3 \w 匹配任意的字母 数字 和 下划线,相当于[a-zA-Z0-9_]

//16.4 \W 匹配除了字母数字下划线之外的字符,相当于[^a-zA-Z0-9_]

//16.5 \s 匹配空格 包括制表符 空格符 断行符等

//16.6 \S 你说呢......

//16.7 \b 匹配单词边界 放左边是前边界 放右边是后边界

// var str = ‘hello world‘;

// var reg = /\bhello/;

// var res = str.match(reg);

// console.log(res);

//16.8 \B 匹配非单词边界

// var str = ‘hello world‘;

// var reg = /\Bllo/;

// var res = str.match(reg);

// console.log(res);

//17. \n 匹配回车键 \r表示换行 \t匹配制表符(tab)

// var str = ‘hello \nworld‘;

// var reg = /\n/;

// var res = str.match(reg);

// console.log(res);

//18.分组选择 ()中的字符作为整体

// var str = ‘dalasdawdfdadad‘;

// var reg = /^(\d[a-z])*$/;

//19.汉字的匹配

// var str = ‘sassd+ihas我jkfh是asfa你lsfh爸asl‘;

// var reg = /[\u4e00-\u9fa5]/;

// var res = reg.test(str);

// console.log(res);

时间: 2024-10-21 12:27:49

正则匹配规则的相关文章

2-常用的正则匹配规则(会员名,真实姓名,邮箱,身份证号码,邮箱)

一.常见的正则匹配规则: 常见的匹配规则有 会员名,真实姓名,邮箱,身份证号码,邮箱等等 1.用户名 要求:会员名以汉字或字母开头,有3-18位数字,字母,下划线,汉字组成 正则:reg1 = /^[\u4e00-\u9fa5a-zA-Z][0-9a-zA-Z_\u4e00-\u9fa5]{2,17}/; 2.真实姓名 要求:真实姓名是2-6位的汉字组成 正则:reg2 = /^[\u4e00-\u9fa5][\u4e00-\u9fa5]{1,5}$/; 3.密码 要求:由6-16位的数字,字母

常用的JavaScript正则匹配规则代码收藏,很实用

收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码.Email.中文字符.身份证号.邮编.QQ号.过滤空白行.匹配特定数字等.觉得这玩意是很有用的,只不过自己水平菜,老是自己写不出,看了这个文档,觉得心里踏实很多,用到正则匹配的时候,看下这个,相信为让你省不少时间.注:本正则不仅限于在JS中使用,其它语言也可以借鉴. 匹配特定数字: ^[1-9]\d*$ //匹配正整数 ^-[1-9]\d*$ //匹配负整数 ^-?[1-9]\d*$ //匹配整数 ^[1-9]\d*|0$

js获取url路径包括正则匹配规则来获取

常规获取方法: var protocol = window.location.protocol;  // "http:" var host = window.location.host;  //"localhost" or "www.baidu.com" var pathname = window.location.pathname;  // "/dkrl/services/cases.php" var href = wind

常用正则匹配规则

var RE ={ intege:"^-?[1-9]\d*$",//整数 intege1:"^[1-9]\d*$",//正整数 intege2:"^-[1-9]\d*$",//负整数 num:"^([+-]?)\d*\.?\d+$",//数字 num1:"^[1-9]\d*|0$",//正数(正整数 + 0) num2:"^-[1-9]\d*|0$",//负数(负整数 + 0) decm

区号+座机号+分机号正则匹配规则

注意:区号验证3-4位数字,中间座机号码验证7-8位数字, 后面分机号验证1-5位数字. regFun(){ let phone = 021-88888999-1234; //你输入的电话号码 let regexp=/^((\d{3,4}\-)|)\d{7,8}(|([-\u8f6c]{1}\d{1,5}))$/; //正则 if(regexp.test(phone)){ console.log(phone+'---验证通过') }else{ console.log(phone+'---验证未通

实现一个支持正则匹配的Filter以及Spring管理Filter遇到的问题

相信很多人都会对Http的Filter的url-pattern不支持正则而烦恼吧.就比如,在web项目中Struts,当我们想要对所有的或者某一个Action进行过滤,而不过滤其他的Action,尤其是不想过滤静态资源,如果你的Struts配置了Action后缀可能会好一些,很可惜我的项目就没有设置后缀,所有没法使用url-pattern仅支持的几种规则,所以就自己实现了一个抽象类,用来支持可配置需过滤以及不需过滤的url规则,且支持正则,具体源码可见下方. import java.io.IOE

js 对表单的一些验证及正则匹配

利用的是jq的validate.js 详见菜鸟教程http://www.runoob.com/jquery/jquery-plugin-validate.html 以下是我测试的几个文件,就是理解后修改的菜鸟教程上的例子,具体还没实际用在工程中,一些防sql注入,防xss攻击等未实现,但是功能完备 validate.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <

awk结合正则匹配

利用awk分析data.csv中label列各取值的分布. 在终端执行head data.csv查看数据: 1 name,business,label,label_name 2 沧州光松房屋拆迁有限公司,旧房拆迁.改造:物业服务(依法须经批准的项目,经相关部门批准后方可开展经营活动),E4,建筑装饰和其他建筑业 3 上海托帕化工材料有限公司,"从事化工材料领域内的技术开发.技术转让.技术咨询.技术服务.化工原材料及产品(除危险化学品.监控化学品.烟花爆竹.易制毒化学品.民用爆炸物品).机械设备.

正则匹配引发的血案

引子:一家商业IT服务公司,提供给客户的服务突然中断了将近一个小时,事后排查原因,竟然是因为一个正则表达式引起的,小小的正则表达式何以引起如此严重的问题? 事情的原因是由于正则解析导致cpu资源消耗殆尽,引起连锁反应,后续的服务都无法对外提供.引起故障的正则表达式是这样的,“(?:(?:\"|'|\]|\}|\\|\d|(?:nan|infinity|true|false|null|undefined|symbol|math)|\`|\-|\+)+[)]*;?((?:\s|-|~|!|{}|\|