
正则表达式
文章平均质量分 80
老鼠拧刀满街找猫
微信公众号:Cooking Regex
正则学习分享
展开
-
正则环视(零宽度断言)
环视(lookaround)分为前瞻(Lookahead )和后顾(lookbehind),也称为零宽度断言(zero-length assertions )。那什么是零宽度断言呢?正则环视实际上是有匹配字符的,但又立即放弃了对字符的占有或消耗,也就是说环视不消耗字符串,只表现出是否匹配或存在该模式的子字符串的结果,然后又回到了它开始环视的那个位置,所以我们称它为零宽度断言。前瞻肯定式前瞻(...原创 2019-11-25 22:03:05 · 1393 阅读 · 0 评论 -
正则捕获组与非捕获组
正则捕获组与非捕获组文章目录正则捕获组与非捕获组捕获组非捕获组命名捕获组1、命名捕获组能用?:改为非捕获组吗?2、命名捕获组是怎么反向引用的?3、一个正则里,多个命名捕获组能同名吗?4、正则里面,怎么计算捕获组的个数?正则表达式分组分为捕获组(Capturing Groups)与非捕获组Non-Capturing Groups,那为什么需要分组呢?正则表达式分组分为捕获组(Captu...原创 2019-11-18 16:37:17 · 1703 阅读 · 2 评论 -
正则常用字符集简写
正则常用字符集简写由于有些字符集很常用,所以正则表达式本身就提供了对这类字符集的简写如上图所示,\s、\S、\d、\D、\w、\W这六个字符集在平时是很常用的,->左边两边的正则,一般情况下,表示的含义是一样的,也就是等价的。也许你已经发现了,\s和\S只是字母大小写的区别,代表的字符集就变成相反的了。\s和\S是没有交集的,但它们是互补的,两个组合起来,刚好是一个表示所有字符...原创 2019-11-18 15:55:52 · 475 阅读 · 0 评论 -
正则佐料『元字符』
正则佐料『元字符』标签: 元字符文章目录正则佐料『元字符』^ 元字符$元字符[ 元字符() 元字符{ 元字符+ 元字符* 元字符? 元字符. 元字符\ 元字符| 元字符- 连接符所谓的元字符,即为特殊字符,表示有特殊的含义,要学好正则表达式,首先就得掌握好元字符。^ 元字符^表示匹配字符串的开头位置,也就是说,它匹配的是一个位置。如果要匹配^字符本身的话,需要转义,即\^。接下来我...原创 2019-11-18 15:37:07 · 303 阅读 · 0 评论 -
正则调试工具分享
正所谓工欲善其事必先利其器,学习正则亦如此。好的工具可以帮助我们更好的理解,从而达到事半功倍之效果,今天我便来聊聊几款个人感觉还不错的正则工具。原创 2019-11-18 14:18:20 · 717 阅读 · 0 评论 -
正则表达式校验一个数字字符串是否为升序
正则:^0*1*2*3*4*5*6*7*8*9*$匹配:原创 2017-04-17 17:51:06 · 1732 阅读 · 0 评论 -
java 验证手机号码、电话号码(包括最新的电信、联通和移动号码)
Cooking Regex微信公众号正则表达式学习一、目前的号码段(2019-12-04更新)新增号段 :1、移动号码:189、1982、联通号码:1663、电信号码:191、199【注意】:目前(2019-12-04)移动和电信都有189号段,所以这个号段用正则不好判断它是属于哪个运营商。二、代码package com.linbilin.t...原创 2015-11-12 11:33:58 · 12344 阅读 · 6 评论 -
javascript常用工具类库bee.js
javascript、 手机号码校验 、 四则运算、 四则元算表达式转换为逆波兰式 、 正则表达式原创 2017-09-01 15:44:08 · 2197 阅读 · 0 评论 -
正则表达式在IE7浏览器出现校验结果不正确
/^(?=.*\d)(?=.*[a-zA-Z])(?=.*[!-\/:-@\[-`{-~])[!-~]{3,16}$/.test(str);如上所示,该正则是校验字符串必须同时包含数字、字母和特殊字符,且字符串长度在3到16之间的。该正则在IE8及以上浏览器中都可以正常校验密码,但客户那边有些浏览器是IE7或者更低,导致很多符合规则的密码都校验不通过。【PS:第一次发现正则在浏览器中也原创 2017-12-27 20:13:41 · 1574 阅读 · 0 评论 -
javascript三分法格式化金额,自定义分隔符【_下划线除外】
方法一:var format=function(str,delimiter,num){ var regex=new RegExp("\\d(?=\\d{"+num+"}\\b)"); while(regex.test(str)){ str=str.replace(regex,"$&"+delimiter); } return str;}方法原创 2018-01-06 17:47:16 · 805 阅读 · 0 评论 -
分割金额的正则【参考】
\d(?=(\d{3})+(?=\b))\d(?=(\d{3})+(?!\d))\d(?=(\d{3})+(?=\D|$))原创 2018-01-06 18:27:40 · 782 阅读 · 0 评论 -
利用正则,找出文本中重复出现的字符
正则:(.+)(?=.*\1.*)匹配结果:原创 2018-05-03 17:56:58 · 2551 阅读 · 0 评论 -
正则校验数字和字母递增或递减的js代码实现(枚举)
网友需求:1.不允许出现3位或3位以上同样或连续数字(递增或递减);2.不允许出现3位或3位以上同样或连续字母(递增或递减);3.不允许出现3位或3位以上同一个特殊符号; 实现:javascript(正则实现)/**codeType:0数字,1字母**/function createRegexStr(codeType){var result='';var items...原创 2018-09-11 13:26:58 · 3028 阅读 · 0 评论 -
正则表达式校验字符串格式并指定必须包含某些字符
Cooking Regex微信公众号正则表达式学习一、需求要求长度为8-9位,开头是字母 ,必须有数字,必须有下划线二、思路解析写法1:^[a-zA-Z](?=.*_)(?=.*\d).{7,8}$首先,开头是固定的,以字母开头,所以可以这样写 ^[a-zA-Z];然后,要求必须要有数字和下划线,我们可以这些写(?=.*_)(?=.*\d) ,这两句的目的分...原创 2017-03-16 11:30:13 · 21656 阅读 · 0 评论 -
正则表达式好文及工具收集
Cooking Regex微信公众号正则表达式学习一、工具篇Regexbuddy工具介绍http://regexr.com/https://regex101.com/语法可视化工具语法可视化2语法可视化3二、正则语法深入理解正则表达式高级教程正则表达式30分钟入门教程我眼里的正则表达式入门教...原创 2016-12-02 15:15:15 · 614 阅读 · 0 评论 -
java正则表达式教程(翻译)
翻译至:http://www.vogella.com/tutorials/JavaRegularExpressions/article.html1、正则表达式1.1、什么是正则表达式?一个正则表达式定义了一个字符串的搜索模式。正则表达式的简称为正则。搜索模式可以是一个简单的字符,一个固定的字符串或是一个包含特殊字符描述的复杂模式。模式定义的正则表达式可以匹配一个给定的字符串0次或多翻译 2016-12-12 17:31:01 · 1850 阅读 · 0 评论 -
利用正则表达式解析(1+3*m+s*b+c*v)^3
Cooking Regex微信公众号正则表达式学习1、问题描述把(1+3*m+s*b+c*v)^3的表达式化简为形如(1+3*m+s*b+c*v)*(1+3*m+s*b+c*v)*(1+3*m+s*b+c*v)的格式。ps:这个问题是我在别人的博客看到的,最近刚好在自学正则表达式,顺便练练手。2、思路2.1、分析从上面的表达式的形式中可以看出,表达式的展开是...原创 2016-12-13 17:33:15 · 1987 阅读 · 0 评论 -
Java 正则表达式的总结和一些小例子(验证和修改过的版本)
Cooking Regex微信公众号正则表达式学习来源:点击打开链接最近在自学正则表达式,在网上查看了一些资料,练手的过程中发现了一些小错误,于是在这边进行了纠正。实例1String data="java"; Pattern.matches("java",data);//true Pattern.matches("javaf",data);//fal...原创 2016-11-25 15:21:45 · 1011 阅读 · 0 评论 -
验证手机号码格式的正则表达式编写思路详解
Cooking Regex微信公众号正则表达式学习一、获取目前中国三大运营商的手机号码段手机号码段如上图我们可以根据不同运营商的号码段来编写正则,也可以进行统一校验的编写,我这边主要是编写统一校验的。二、思路1、为了得到号码段的规律,我们可以把它们先进行排序一下,排序代码如下: int[] phoneHead={134,135,13...原创 2016-12-08 16:59:44 · 3720 阅读 · 1 评论 -
java正则表达式入门及API实例
Cooking Regex微信公众号正则表达式学习一、正则表达式语法1、语法2、java API文档里面的介绍如果觉得2这一部分有点多的话,直接看我这边的总结:******************************************总结***************************①、java字符类中可以用&&表...原创 2016-11-28 10:22:35 · 3088 阅读 · 2 评论 -
java正则表达式不以某个字符串开头或结尾
Cooking Regex微信公众号正则表达式学习一、不以某个字符串开头这个问题我们可以用 “否定式向前匹配”来实现,语法 (?!str),表示后面不是接str才匹配前面的字符串。如we(?!123)会匹配welcome中的we,但不匹配we123中的we。所以(?!str)的前面不要有字符串就表示不以str开头了。因此我们若想要匹配由26个小写字母组成,但不以ab字符串为开...原创 2017-01-14 17:07:35 · 40442 阅读 · 2 评论 -
javaScript中String.replace()的第二个参数为函数时的用法介绍
Cooking Regex微信公众号正则表达式学习一、定义和用法replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。语法:stringObject.replace(regexp/substr,replacement)返回值一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的...原创 2017-02-25 20:47:22 · 6211 阅读 · 0 评论 -
java邮箱格式校验
Cooking Regex微信公众号正则表达式学习一、测试文件@gmail.com @yahoo.com @msn.com @hotmail.com @aol.com @ask.com @live.com @qq.com @0355.net @163.com @163.net @263.net @3721.net @yeah.net @google...原创 2016-12-07 18:21:45 · 252604 阅读 · 0 评论 -
java正则表达式中的POSIX 字符类和Unicode 块和类别的类介绍
假如现在有一个需求,要你用java语言来匹配出一个文本里面的所有(英文半角)标点符号,你会怎么写呢?我想大多数人应该是把这些符号都罗列出来,如:!"#$%&'()*+,-./:;?@[\]^_`{|}~但[!"#$%&'()*+,-./:;?@[\]^_`{|}~]这样写需要转义一下,结果为:[-!"\#\$%&'()*+,./:;?@\[\\\]\^_`\{\|\}~]原创 2017-03-10 01:22:20 · 1523 阅读 · 0 评论 -
统计文本中每个单词的个数
/** * 统计文本每个单词的个数 * * @param text * 文本 * @param ignoreCase * 是否忽略大小写 * @return */ public static Map countEachWorld(String text, boolean ignoreCase) { Match原创 2017-03-22 19:41:25 · 1904 阅读 · 0 评论 -
利用ASCII和Unicode写正则表达式
Cooking Regex微信公众号正则表达式学习ASCIIUnicode例如,校验密码:必须同时包含字母、数字和特殊字符,6-16位我们首先来看下特殊字符,一般情况下,我们指的特殊字符包括!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 这些,那这些字符用Unicode怎么表示呢?\u0021-\u002F\u...原创 2017-04-10 15:58:57 · 10677 阅读 · 0 评论 -
JavaScript正则API快速入门笔记
一、RegExp 对象1.1 创建对象1.1.1 直接量语法 /pattern/attributes如:var pattern=/^[1-9]\\d{4}$/;1.1.2 构造函数语法 new RegExp(pattern,attributes);如:var pattern = new RegExp("^[1-9]\\d{4}$");【注意】直接量语法原创 2017-02-22 13:38:45 · 946 阅读 · 0 评论 -
java 正则表达式报错:Look-behind group does not have an obvious maximum length near index
Cooking Regex微信公众号正则表达式学习一、报错如下二、源码如下(这是在解决网友遇到的问题时写的小demo时遇到的)package ls.regex.demo;import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexDemo { /*...原创 2016-11-29 16:24:15 · 5748 阅读 · 0 评论