正则

银行卡号正则,jq 正则,php正则

醉酒当歌 提交于 2020-03-24 07:58:13
1 jq正则 /** *银行号码正则 */ function luhmCheck(bankno){ var lastNum=bankno.substr(bankno.length-1,1);//取出最后一位(与luhm进行比较) var first15Num=bankno.substr(0,bankno.length-1);//前15或18位 var newArr=new Array(); for(var i=first15Num.length-1;i>-1;i--){ //前15或18位倒序存进数组 newArr.push(first15Num.substr(i,1)); } var arrJiShu=new Array(); //奇数位*2的积 <9 var arrJiShu2=new Array(); //奇数位*2的积 >9 var arrOuShu=new Array(); //偶数位数组 for(var j=0;j<newArr.length;j++){ if((j+1)%2==1){ //奇数位 if(parseInt(newArr[j])*2<9){ arrJiShu.push(parseInt(newArr[j])*2); }else{ arrJiShu2.push(parseInt(newArr[j])*2); } }else{ //偶数位 arrOuShu

boost sp 2 regex语法规范 正则表达式

为君一笑 提交于 2020-03-24 04:27:06
3 月,跳不动了?>>> boost sp 2 regex语法规范 正则表达式 这部分包含了boost.regex库的正则表达式的语法。这是一份程序员指南,实际的语法由在程序中的正则表达式的选项决定。(译注:即regex类构造函数的flag参数。) 文字(Literals) 除了一下字符,其它的任何字符都表示其字面意义(literal)。 “.”, “|”, “*”, “?”, “+”, “(“, “)”, “{“, “}”, “[“, “]”, “^”, “$” 和 “\” 要使用这些字符的字面意义,要在前面使用 “\” 字符。一个字面意义的字符匹配其本身,或者匹配 traits_type::translate() 的结果,这里的traits_type 是 basic_regex 类的特性模板参数(the traits template parameter)。 通配符(Wildcard):点号 ”.” 点号 ”.” 匹配任意的单个字符。当在匹配算法中使用了 match_not_dot_null 选项,那么点号不匹配空字符(null character)。当在匹配算法中使用了 match_not_dot_newline 选项,那么点号不匹配换行字符(newline character)。 重复(Repeats) 一个重复是一个表达式(译注:正则表达式)重复任意次数。

密码正则

自作多情 提交于 2020-03-23 17:50:07
长度8 以上,大小写、数字,特殊字符至少3种 public static boolean passWordCheck(String passWord){ if (null==passWord||passWord.length()<8) { return false; } List<String> list = new ArrayList<String>(4); list.add(".*\\d+.*"); list.add(".*[a-z]+.*"); list.add(".*[A-Z]+.*"); list.add(".*[~!@#$%^&*()_+|<>,.?/:;'\\[\\]{}\"]+.*"); int count = 0; for (String string : list) { if (passWord.matches(string)) { count ++ ; } } if (count>=3) { return true; } return false; } 来源: https://www.cnblogs.com/yrjns/p/12553404.html

正则 (?i,m,s,x,g)

只谈情不闲聊 提交于 2020-03-21 08:52:24
正则i,s,m,g 这些是模式修正符 -- 解说正则表达式模式中使用的修正符 i 如果设定此修正符,模式中的字符将同时匹配大小写字母。 m 当设定了此修正符,“行起始”和“行结束”除了匹配整个字符串开头和结束外,还分别匹配其中的换行符的之后和之前。 s 如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。 x 如果设定了此修正符,模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的 # 以及下一个换行符之间的所有字符,包括两头,也都被忽略。 e 如果设定了此修正符,preg_replace() 在替换字符串中对逆向引用作正常的替换, 来源: https://www.cnblogs.com/kulong995/archive/2012/02/16/2280341.html

Java中应该注意的一些特殊字符

放肆的年华 提交于 2020-03-19 21:41:33
3 月,跳不动了?>>> replace ,replaceAll 两者都是由正则表达式类库实现的,但是 replace 采用的是字符串原有的意思来替换,而 replaceAll 则是按照正则表达式的字符串来替换,正则表达式中有 15 个元字符,是有特殊意义的,使用时需要转义,这 15 个字符分别是: ( [ { \ ^ - $ ** } ] ) ? * + . 转义时可以采用两种方式: 1. 正则表达式中表述上述字符,需要在前面加上“\”,但是“\”是 Java 中的特殊字符,在 Java 代码中用“\\”表示正则表达式中的“\”。 2. 在需要保留本身意义的前后加上 \Q 和 \E,把特殊字符放在这里面就成普通字符了。 PS:若想表示一个“\”,在 Java 代码中需要使用“\\\\” :) String unitName = "11年真题分析(一)"; unitName = unitName.replaceAll("\\Q(\\E", "<font color='#CC0000'>(</font>"); System.out.println(unitName); 结果为: 11年真题分析<font color='#CC0000'>(</font>一) 来源: oschina 链接: https://my.oschina.net/u/658658/blog/410745

Mysql中文检索匹配与正则

血红的双手。 提交于 2020-03-19 02:51:10
今天在用sql模糊查询包含字母d的时候,发现一些不包含此字母的也被查询出来了: SELECT * FROM custom WHERE custom_realname LIKE '%d%' 查询了一下,发现以下说明: (最后修改为: SELECT * FROM custom WHERE custom_realname LIKE BINARY '%d%' ) 今天在做mysql的一个搜索的时候发现我用 select name from contact where name like '%a%'的时候出来的结果除了包含a的名字外连包含中文“新”的名字也出现在搜索结果里面,这令我想弄清楚mysql的匹配模式和规则到底是怎么样的,所以决定查查资料了解了解,另外在匹配的时候正则表达式也很常用!所以准备在这里记录我学习这两个玩意的收获! 出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。 解决办法: 1 .在建表的时候对于包含中文的字段加上“BINARY”属性,使之进行二进制比较,例如讲"name char(10)"改成"name char(10) BINARY"。但是这样你对该表的该字段进行匹配的时候是区分大小写的。 2 .如果使用源码编译MySQL

正则验证码

独自空忆成欢 提交于 2020-03-17 12:48:43
某厂面试归来,发现自己落伍了!>>> 验证数字的正则表达式集 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 验证非零的正整数:^\+?[1-9][0-9]*$ 验证非零的负整数:^\-[1-9][0-9]*$ 验证非负整数(正整数 + 0) ^\d+$ 验证非正整数(负整数 + 0) ^((-\d+)|(0+))$ 验证长度为3的字符:^.{3}$ 验证由26个英文字母组成的字符串:^[A-Za-z]+$ 验证由26个大写英文字母组成的字符串:^[A-Z]+$ 验证由26个小写英文字母组成的字符串:^[a-z]+$ 验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 验证由数字、26个英文字母或者下划线组成的字符串:^\w+$ 验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+ 验证汉字:^[\u4e00-\u9fa5],{0,

JavaScript正则详谈

陌路散爱 提交于 2020-03-17 01:53:38
学过JavaScript的小伙伴应该都知道正则表达式,它简直让我们又爱又恨。 首先正则表达式是什么? 正则表达式的概念 正则表达式(regular expression)是一个描述字符模式的对象。ECMAScript 的 RegExp 类,表示正则表达式,而 String 和 正则表达式都定义了进行强大的【模式匹配】和【文本检索】与【替换】的函数。 它可以简单地操作字符串,并完成一系列的操作,可以省下我们大量的时间和代码,这边是我们对它爱了的原因。 例如:如果正常操作字符串,找出字符串中的数字,需要将字符串遍历,并一一比较每一个字符,将是数字的字符拿出来,比较麻烦;而是用正则表达式只需要一句语句就可以实现。 var arr = str . match ( /\d+/g ) ; //str为要查找的字符串 正则表达式的创建 说到创建,那肯定就是 字面量方式和构造函数方式 了,我们学过的数组、对象、字符串等等都是有这两种方式创建的。 字面量方式: var reg1 = /hello/ig ; 构造函数方式 var reg2 = new RegExp ( "hello" , "ig" ) ; 我们一般常用的是使用字面量创建正则表达式,构造函数创建方式不常用。 正则表达式的使用 正则的方法 test方法:用来检测字符串是否符合正则的标准 语法:正则.test(字符串) 返回值为布尔类型

正则表达式(二)简单应用

丶灬走出姿态 提交于 2020-03-12 05:09:01
1,手机号正则 获取最新运营商手机号码段(2019-04) /** * 正则:手机号 *移动:   134 135 136 137 138 139           147(上网卡)           150 151 152 157 158 159           165           172 178(4G)           182 183 184 187 188          1440(物联网) 148(物联网) 198 *联通:   130 131 132           145(上网卡)           155 156           171 175 176(4G)           185 186          146(物联网) 166 *电信: 133           149           153           173 174 177(4G)           180 181 189           191          1410(物联网) 199 *虚拟运营商:170,171**/ 根据上述手机号总结匹配规律如下: 13(0~9),14(1,4~9),15(0~3,5~9),16(5,6),17(0,1,2,3,4,5,6,7,8),18(0~9),19(1,8,9) 可以写出如下正则: 1)

从零开始学正则(四)

落爺英雄遲暮 提交于 2020-03-12 04:55:13
壹 ❀ 引 我在 从零开始学正则(三) 这篇博客中介绍了 分组引用 与 反向引用 的概念,灵活利用分组能让我们的正则表达式更为简洁。在文章结尾我们留下了两个问题,一问使用正则模拟实现 trim方法;二问将my name is echo每个单词首字母转为大写。 我们先来分析第一个问题,trim属于String方法,能去除字符串头尾空格,所以我们只需要写一个正则匹配头尾空格将其替换成空即可。空格属于空白符,所以这里需要使用字符组 \s ,空格可能有多个,所以要使用量词 + ;其次我们需要匹配紧接开头后与结尾前的空格,所以需要使用^与$;最后将空格替换成空字符串,所以需要使用replace方法,综合起来,就应该是这样: var str = ' 听风 是风 '; var regex = /^\s+|\s+$/g; var result = str.replace(regex, ''); //听风 是风 有人肯定就纳闷了,“听风”与“是风”中间的空格怎么没被去除呢?常理上来说,听风后的空格也算开头位置^之后,结束位置$之前啊;其实通过图解已经很清楚,能被匹配的空格一定是紧接开头位置之后,再到“听风”时,之后的空格像是被“听风”打断了一样,已经不具备被匹配的资格了。关于^$若有疑问,可以阅读博主 JS 正则表达式^$详解,脱字符^与美元符$同时写表示什么意思? 这篇博客。 我们再来看第二个问题