js 正则学习小记之左最长规则】的更多相关文章

原文:js 正则学习小记之左最长规则 昨天我在判断正则引擎用到的方法是用 /nfa|nfa not/ 去匹配 "nfa not",得到的结果是 'nfa'.其实我们的本意是想得到整个字符串 "nfa not" 的,可却只得到了 'nfa'. 再来看个例子,/an (nfa)?(nfa test)?/ 去匹配 "an nfa test",如果和上面一样的解释,那应该只得到 'an nfa',接着第一个捕获组里是 'nfa' 第二个捕获组里是空. 我…
原文:js 正则学习小记之NFA引擎 之前一直认为自己正则还不错,在看 次碳酸钴,Barret Lee 等大神都把正则玩的出神入化后发现我只是个战五渣.  求抱大腿,求大神调教. 之前大致有个印象,正则有很多种引擎,但我根本不知道有哪些引擎. 今天在读<精通正则表达式>才发现有Traditional NFA,POSIX NFA 和 DFA (具体自己百度下吧).可用了这么久的正则,还不知道 js 属于哪一种呢.在<精通正则表达式>里有个简单是方法检测属于哪一种. 用 /nfa|nf…
原文:js 正则学习小记之匹配字符串 今天看了第5章几个例子,有点收获,记录下来当作回顾也当作分享. 关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配.(因为我想学完之后写个语法高亮练手,所以用js代码当作例子) var str1 = "我是字符串1哦,快把我取走", str2 = "我是字符串2哦,快把我取走"; 比如这样一个字符串,匹配起来很简单 /"[^"]*"/g 即可. PS: 白色截图是 chrome 3…
原文:js 正则学习小记之匹配字符串优化篇 昨天在<js 正则学习小记之匹配字符串>谈到 个字符,除了第一个 个,只有 个转义( 个字符),所以 次,只有 次成功.这 次匹配失败,需要回溯后用 [^"] 才能匹配成功,当然最后一个 " 会直接匹配成功. 很明显,正常的字符串不可能全是转义,正常的字符串才是主流,当然不排除有人故意全转义的情况.所以这个正则需要次回溯后才能匹配完成,如果字符串增长到 1K 1M 肿么破呢?所以我们要修改下这个正则,前后换下位置么?难道是 /&q…
昨天在<js 正则学习小记之匹配字符串字面量>谈到 个字符,除了第一个 个,只有 个转义( 个字符),所以 次,只有 次成功.这 次匹配失败,需要回溯后用 [^"] 才能匹配成功,当然最后一个 " 会直接匹配成功. 很明显,正常的字符串不可能全是转义,正常的字符串才是主流,当然不排除有人故意全转义的情况.所以这个正则需要次回溯后才能匹配完成,如果字符串增长到 1K 1M 肿么破呢?所以我们要修改下这个正则,前后换下位置么?难道是 /"(?:[^"]|\\…
今天看了第5章几个例子,有点收获,记录下来当作回顾也当作分享. 关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配.(因为我想学完之后写个语法高亮练手,所以用js代码当作例子) var str1 = "我是字符串1哦,快把我取走", str2 = "我是字符串2哦,快把我取走"; 比如这样一个字符串,匹配起来很简单 /"[^"]*"/g 即可. PS: 白色截图是 chrome 34 控制台中运行的结果,深灰色是 su…
一直对正则很纠结也很畏惧,以前感觉花时间理解一个个奇奇怪怪的符号,还不如直接百度谷歌之. 但知其然不知其所以然也是种痛苦,所以花了两天稍微学了一下,虽然没学很深入彻底,但也比之前进步不少,特此笔记. js正则 g:表示全局,匹配全部i:表示不区分大小写m:表示匹配多行(匹配换行两端的潜在匹配) RegExp实例属性: global:是否设置了g ignoreCase:是否设置了i  lastIndex:表示下一次exec开始搜索下个匹配项的字符位置  multiline:表示是否设置了m  so…
http://www.cnblogs.com/rubylouvre/archive/2010/03/09/1681222.html http://www.cnblogs.com/tylerdonet/p/4262251.html //正整数 /^[0-9]*[1-9][0-9]*$/; //负整数 /^-[0-9]*[1-9][0-9]*$/; //正浮点数 /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-…
正则中文版详细说明请看中文版w3cschool-----http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp微软正则表达式语言-快速参考:http://msdn.microsoft.com/zh-cn/library/az24scfc%28v=vs.110%29.aspx var reg=/(123)/;            var str='abc123';            str=str.replace(reg,'***');  …
//元字符 {} () ^ $ . ? + //预定义字符 \d \D \w \W \s \S //量词 {n,m} {n} {n,} + ? * //贪婪和惰性 //反向引用 //分组 //候选 //非捕获性分组 学习方案  http://www.cnblogs.com/rubylouvre/archive/2010/03/09/1681222.html…
众所周知正则表达式是十分强大的存在,编码时能够熟练使用正则能够极大的简化代码,因此掌握正则非常有必要. 创建正则语法: // 创建正则的两种方式// 1.构造函数 let reg = new RegExp('匹配模式', '修饰符[i/m/g]')let reg = new RegExp('test', 'g'); // 2.字面量 let reg = /匹配模式/修饰符let reg1 = /test/g; 正则修饰符: // i 忽略大小写 // m 多行匹配 // g 全局匹配 // 例1…
原文:js 正则练习之语法高亮 学了几天正则,差不多该总结整理写成果了,之前就想写语法高亮匹配来着,不过水平不够,看着例子都不理解.今天就分析下 次碳酸钴 和 Barret Lee 语法高亮实现. 先说 Barret Lee 的这篇 <玩转正则之highlight高亮>之前看的时候只觉的神奇,特别是下面那个一步一步分开匹配的例子,更是霸气测漏,不过作者也说了,分开只是为了演示方便,可以很直观的看到这一步匹配了什么,不然一步到位匹配完成,你都不知道发生了什么就处理完毕了.来看下他的正则 (/^\…
原文:浅谈 js 正则字面量 与 new RegExp 执行效率 前几天谈了正则匹配 js 字符串的问题:<js 正则学习小记之匹配字符串> 和 <js 正则学习小记之匹配字符串优化篇>.里面讲到了优化正则起到提升性能的问题,但是能提升多少呢?于是我去测试了,发现TMD几乎微乎其微,我用千字符串进行万次匹配测试,优不优化根本没区别. 这不科学,我白看了这么多天正则,上天这是在玩弄我么. 突然我想到了 compile 方法,然后去测试了下,奇迹出现了,果然优化过的快了不少. 但这是为…
按照自己的思路学习Node.Js 随心出发.突破正则冷门知识点,巧妙复习正则常用知识点 标签:AaronYang  茗洋  Node.Js 正则 Javascript 本篇博客地址:http://www.cnblogs.com/AaronYang/p/3979710.html 开发准备(AaronYang原味)(看完加20分) 1你需要有个带开发者工具的浏览器,我这里用chrome浏览器 来这里学习,第一也为巩固自己的知识,二来真的很需要它.正则入门简单,高级理解了也简单,但是因为不经常用,所以…
概述 续接上文的密码校验要求: 这个需求有两个难点,一,是如何使用正则匹配所有半角英文标点符号,二,是如何验证密码段中在要求的四种(大写字母,小写字母,数字,标点符号)类型中至少存在三种. 第一个难点:如何使用正则匹配所有半角英文标点符号在上文中已经得以解决,所以在这里我们主攻第二个难点并完成完整的符合需求的表达式. 太长不看版 满足需求:完全符合上述图片的校验需求,密码段中在要求的四种(大写字母,小写字母,数字,标点符号)类型中至少存在三种 解决方案:灵活运用正则中的零宽度负先行断言: ^(?…
Ext JS 6学习文档-第5章-表格组件(grid) 使用 Grid 本章将探索 Ext JS 的高级组件 grid .还将使用它帮助读者建立一个功能齐全的公司目录.本章介绍下列几点主题: 基本的 grid 排序 渲染器 过滤 分页 单元格编辑 行编辑 分组 分组 grid(pivot grid) 公司目录 —一个示例项目 grid 组件是 Ext JS 中最强大的一个组件.它有很多的选项和配置,能以任何你希望的形式来构建 grid. Ext JS 的 grid 组件提供完整的支持分页,排序,…
js正则实现二代身份证号码验证详解 根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码. 地址码表示编码对象常住户口所在县(市.旗.区)的行政区划代码. 出生日期码表示编码对象出生的年.月.日,其中年份用四位数字表示,年.月.日之间不用分隔符. 顺序码表示同一地址码所标识的区域范围内,对同年.月.日出生的人员…
//几种字符串操作:var str = 'abcdef'; alert(str.search('b')); //弹出1:返回的是b在str中的位置:如果找不到返回-1: alert(str.substring(2,5)); //弹出cde:不包括结束位置: alert(str.substring(1)); //弹出bcdef,从开始位置一直截取到结束位置: alert(str.charAt(3)); //弹出d,返回的是第3个位置的字符: var str = '12 fff 87 er334 2…
大四了,课少了许多,突然之间就不知道学什么啦.整天在宿舍混着日子,很想学习就是感觉没有一点头绪,昨天看了电影激战.这种纠结的情绪让我都有点喘不上气啦!一点要找点事情干了,所以决定找个东西开始学习.那就找和java相关的东西看吧,看到javascript时以为是和java有关系,结果才弄清楚两个之间根本没有什么关系,好吧如果一定要给个理由的话:就是那时候的java名气太大.(看的视频中老师最经典的一句就是:雷锋和雷峰塔) 白天宿舍吵得不行,自己也静不下心来学什么,那就晚上吧!一点一滴的积累吧,写这…
写完正则在浏览器上检测自己写得对不对实在是不方便,于是就撸了一个JS正则小demo出来. demo demo展示 项目地址 代码部分 首先把布局样式先写好. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js正则查找替换工具</title> <link rel="stylesheet&q…
原文:js 正则之 判断密码类型 今天没啥写的,就分享个思路吧.之前在群里讨论的时候,谢亮兄弟说判断密码是否是纯数字,纯字母之类的.如果用 , 条判断,那就老长一大段了.这个思路是我之前看 jQuery 源码的时候学到的,感觉用在这也不错.先来看代码吧. function test(str, re, msg) { var ret = str.match(re || /^(\d+)$|^([a-zA-Z]+)$|^([a-zA-Z].+)$|^([0-9a-zA-Z]+)$|^([\s\S]+)$…
Ext JS 入门指南 前言 本来我是打算自己写一个系列的 ExtJS 6 学习笔记的,因为 ExtJS 6 目前的中文学习资料还很少.google 搜索资料时找到了一本国外牛人写的关于 ExtJS 6 的电子书 [Ext JS 6 By Example].这份资料在 PACKT 上卖 35.99 刀的,当然了万能的 google 还是帮我下载到了 PDF 文档.大概看了一下,讲的很详细,例子也比较简单,容易理解,现我准备利用工作之余翻译这份文档,为自己学习加深理解,也希望能帮助更多的人学习.…
概述 在JS密码校验中常常会遇到密码强度的校验需求,借用一位朋友提问的图,他在工作中遇到的一个比较经典的密码强度校验要求: 这个需求有两个难点,一,是如何使用正则匹配所有半角英文标点符号,二,是如何验证密码段中在要求的四种(大写字母,小写字母,数字,标点符号)类型中至少存在三种. 首先,我们来解决第一个难点:如何使用正则匹配所有半角英文标点符号. 太长不看版: 满足需求:使用js正则匹配所有半角英文标点符号(不含大小写字母) 解决方案:使用正则表达式:/[\x21-\x2f\x3a-\x40\x…
Preface 对于许多数论问题,都需要涉及到Gcd,求解Gcd,常常使用欧几里得算法,以前也只是背下来,没有真正了解并证明过. 对于许多求解问题,可以列出贝祖方程:ax+by=Gcd(a,b),用Exgcd解之即可到答案,Exgcd即扩展欧几里得算法.他还能求乘法逆元,同余方程通解.没有你想得到的,只有你做不到的. 这里是对于两个算法的学习小记 Content 欧几里得算法 算法介绍 由百度百科得 欧几里德算法又称辗转相除法,用于计算两个正整数a,b的最大公约数. 从整数的除法可知:对任给二整…
@第一节课程内容 js正则 登录注册验证 @text-判断字符串是否符合规定的正则 @exec-获取匹配的数据 bootstrap(组件) –css –js 学习bootstrap规则 jQueryui(同2) easyUI(同2) web框架 Django 里面Orm框架只占10分之一,但是水平特别高 @js的正则 @ @ @18周第二节,没细看,到第六节没看 @@@第七节Django框架 @web本质就是socket @字符串变字节 b’ str’ bytes(‘str’,encoding=…
logstash 学习小记 标签(空格分隔): 日志收集 Introduce Logstash is a tool for managing events and logs. You can use it to collect logs, parse them, and store them for later use (like, for searching). – http://logstash.net 自从2013年logstash被ES公司收购之后,ELK stask正式称为官方用语.非…
从 prototype.js 深入学习 javascript 的面向对象特性 js是一门很强大的语言,灵活,方便. 目前我接触到的语言当中,从语法角度上讲,只有 Ruby 比它更爽. 不过我接触的动态语言只有: js ruby python flash的as 简单的几门, 应该算是井底之蛙之见. js 语法成分简单,没有 ruby 语言复杂.所以有时候我觉得她更干净(Ruby Fans 不要攻击我哦,我也是很爱很爱很爱Ruby的)! prototype.js 无疑是 js的漂亮之作,从它身上应该…
Ext JS 6学习文档-第3章-基础组件 基础组件 在本章中,你将学习到一些 Ext JS 基础组件的使用.同时我们会结合所学创建一个小项目.这一章我们将学习以下知识点: 熟悉基本的组件 – 按钮,文本框,日期选择器等等 表单字段的校验 菜单和工具栏 设计一个表单 计算器程序– 本章的示例项目 本章的主要目的是创建一个表单设计和一个计算器示例项目.以下图分别展示了表单设计和计算器设计. 首先,你观察下列表单设计,你会发现我们使用了大量的控件,例如 label 和文本框. 以下图展示了表单的设计…
求些一个js正则!两边字符固定,中间任意字符.在一个长字符串里面匹配一小段,这一小段字符串开头和结尾都是固定的字符,就是中间是任意长度的字符.怎么写? /aa.+aa/ aa是你的固定字符,如果是反斜杠“\”,双引号“"”或者单引号.括号.方括号.花括号等,前面要加上转义字符\(反斜杠) 哦对了,还有懒惰模式(非贪婪模式),如果你固定字符中间的不确定字符想要取最大长度,那么上面的正则合适,如果是最小的,比如下面的字符串: aa324fdsaa423aa 如果你想取出324fds的话,用/aa.+…
JS继续学习记录(一) 总感觉自己的js code写的还算可以,但是又深知好像只知道一些皮毛,所以打算仔细记录一下js晋级学习过程,日日往复 先记录一下自己目前对js的了解吧(20180828) js作为脚本语言,包括核心语法,dom,bom三部分组成. 1.核心语法:变量,函数的定义,一些js内置对象的调用,如array,如json,基本数据类型,引用数据类型若干,各自的用法云云. 2.dom对象:html的页面对象的封装,封装成的dom对象内包括html的基础属性,衍生属性,监听器,绑定函数…