1.正则的懒惰性??? 每次在它的方法exec中捕获的时候,只捕获第一次匹配的内容,而不往下捕获,我们把这种情况称为正则的懒惰性 且每一次捕获的位置都是从索引0开始 正则的实例对象上有一个lastindex的属性,是正则开始捕获的起始位置 var reg=/\d+/; var st="abc123efg456"; console.log(reg.exec(st))输出123 如何解决正则的懒惰性呢 用一个修饰词“g”就可以了 2.正则的贪婪性??? 每次匹配到的结果都是最长的,把这种情…
1.var reg=/./; var reg=/\./的区别?? 前者代表任意一个字符,后者代表这个字符串中得有一个.. 2.?的使用?? 如果单独的一个字符串后面带? , var reg=/\d?/  ;  /n?/  ;   d?代表的意思是至少有0个和1个数字 : n ? 代表0个或1个带n的字符  . 如果是量词+和x ,n{x}后带? 则会取消正则的贪婪性 var reg=/\d+?/  ; var st="123hello" console.log(reg.exec(st)…
正则-RegExp 正则,是一条规则,用于检验字符串格式,目标就是字符串: 只要是表单提交的数据都是字符串 定义: 1,var reg=/格式/ 2,var reg=new regexp() 方法: 两大功能---匹配,test() 成功就是true,反之false: 捕获,exec() 成功就会拿出来,没有就是null: 修饰符: i 忽略大小写 g 全局匹配 m 多行匹配 如何使用修饰符: 1,var reg=/hello/gi 字面量方式 2,var reg=new regexp(“hel…
1.var reg=/./     var reg=/\./ 前者代表任意一个字符而后面代表这个字符串中得有一个. 2.?的使用 如果单独的一个字符后面带? var reg=/\d?/ /n?/ 代表一个或0个·这个字符的出现 如果是量词+和*,{2, }后面带?   var reg=/\d?/      /n?/ 3.捕获 1.普通捕获exec() match() 普通捕获有懒惰性,给正则添加一个修饰g可以解决,match是将所有捕获的内容放在一个数组中并返回.Match就是对exec的简单封…
js常用数据类型 数字类型 | 字符串类型 | 未定义类型 | 布尔类型 typeof()函数查看变量类型 数字类型  Number var a1 = 10; var a2 = 3.66; console.log(typeof(a1)) console.log(typeof(a2)) 字符串类型  String var s1 = "hello word"; var s2 = '456'; 未定义类型   undefined var = a var u1 = undefined 布尔类型…
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <script src="vue.js"></script> <title id="title">{{title}}</title> </head> <body> <div id…
上次写了js正则的字面量声明,今天说说RegExp()构造函数声明: var p=/cat/g;   //字面量声明var p=new RegExp('cat','g') //构造函数声明 它两所表达的意思是一样的,看看写法有啥不同,一个用 //   : 一个用 ""   : String支持正则表达式的方法  match(): 正则表达式方法  exec(): 看过我前面写的字面量声明的人肯定知道使用字面量声明和构造函数声明的区别就是表达式不一样:其它的都没改动:下面再说一下重要的一…
1.什么是正则??? 就是一条规则,用于检验字符串的格式,目标就是字符串. *只要是表单提交的数据都是字符串 2.正则的定义??? (1)var reg=new RegExp() (2)var reg=/格式/; 3.正则的方法 (1)test()>>匹配>>true/false (2)exec()>>捕获>>得到/null 4.正则修饰符 img i:忽略大小写 m:多行匹配 g:表示全局匹配 使用方法: (1)var reg=new RegExp(&qu…
转义字符"\" 使用反斜杠之后,会强制的将"\"之后的字符取消掉原来的意思转换成文本, 转义符号不会输出 var str= "abc\"defg" -->输出 abc"defg 回车是由\r+\n表示 \n 换行 \r行结束符 \t 一个tab键 多行字符串 innerHtml= "<div></div>\ //将后边的回车键换行符转义 结果就会与下一行的文本连接在一起 <span…
RegExp实例方法: 1.Test() RegExpObject.test(string) 判断string中是否有与表达式匹配的字符串,有则返回true,否则返回false 例如 var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free")); 由于该字符串中存在字母 "e",以上代码的输出将是:true 2.exec() Re…
今天朋友问我一个问题,我现在需要多次匹配同一个内容,但是为什么我第一次匹配,直接是 true,而第二次匹配确实 false 呢? var s1 = "MRLP"; var s2 = "MRLP"; var reg = /mrlp/ig; console.log(reg.test(s1)); console.log(reg.test(s2)); 这时候你会发现,我们在连续使用一个正则匹配其他字符串的时候,第一次匹配是 true,而第二次匹配则是 false. 等等,W…
分组语法 捕获 (exp) 匹配exp,并捕获文本到自动命名的组里 (?<name>exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp) (?:exp) 匹配exp,不捕获匹配的文本 位置指定 (?=exp) 匹配exp前面的位置 (?<=exp) 匹配exp后面的位置 (?!exp) 匹配后面跟的不是exp的位置 (?<!exp) 匹配前面不是exp的位置 注释 (?#comment) 这种类型的组不对正则表达式的处理产生任何影响,只是为了提…
JavaScript RegExp 对象 RegExp 对象 RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具. 直接量语法 /pattern/attributes 创建 RegExp 对象的语法: new RegExp(pattern, attributes); 参数 参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式. 参数 attributes 是一个可选的字符串,包含属性 "g"."i" 和 "m&quo…
看别的博客有用eval执行正则表达式的写法, //替换指定传入参数的值,paramName为参数,replaceWith为新值 function replaceParamVal(paramName,replaceWith) { var oUrl = this.location.href.toString(); var re=eval('/('+ paramName+'=)([^&]*)/gi'); var nUrl = oUrl.replace(re,paramName+'='+replaceW…
我们先来看一段js代码: var rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/; console.log(rquickExpr.exec('#div'));//["#div", undefined, "div", index: 0, input: "#div"] console.log(rquickExpr.exec('<li>'));//["<li&…
console.log('2020-01-23'.match(/(\d{4})-(\d{2})-(\d{2})/)) const t = '2020-01-23'.match(/(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/) console.log(t.groups.year) console.log(t.groups.month) console.log(t.groups.day)…
正则 就是一条规则 用来检验字符串的格式 目标就是字符串 只要是通过表单提交的数据 都是字符串1.正则定义var reg = new RegExp( )var reg = /格式/ <--简写 2.正则的方法两大功能:一个是匹配 匹配成功就是true 第二个是捕获 如果有就拿出来test( ) 用于匹配 exec( ) 用于捕获 直接返回捕获的对象 没捕获到就是null 3.正则修饰符 如何去匹配①区不区分大小写 “i”代表忽略大小写②全局 “g”代表全局匹配③“m”代表多行匹配 4.修饰符使用…
ValidationExpression验证规则  在ASP.NET中,ValidationExpression 验证规则属性可以根据自已的需要,对输入的数据进行限制,其常用符号如下表所示: 符号  说明 []  用来定义单一字符的内容. {}  用来定义需输入的字符个数. . 表示任意字符. * 表示最少可以不输入,最多到无限多个字符. + 表示最少输入1 个字符,最多到无限多个字符. [^...]  表示不包含的字符. 「[] 」符号 [] 符号可以用来定义接受的单一字符,例如: [a-zA…
前言: 半年前我对正则表达式产生了兴趣,在网上查找过不少资料,看过不少的教程,最后在使用一个正则表达式工具RegexBuddy时,发现他的教程写的非常好,可以说是我目前见过最好的正则表达式教程.于是一直想把他翻译过来. 本文是Jan Goyvaerts为RegexBuddy写的教程的译文,版权归原作者所有,欢迎转载.但是为了尊重原作者和译者的劳动,请注明出处!谢谢! 1.什么是正则表达式 基本说来,正则表达式是一种用来描述一定数量文本的模式.Regex代表Regular Express.本文将用…
1.var reg=/./与var reg=/\./的区别? 前者代表任意一个字符, 后者代表这个字符串中得有一个点 2.?的使用 如果单独的一个字符后面带? 代表1个或0个这个字符的出现: 列如: /\d?/ 如果量词+后面带? 取消正则的贪婪性 在捕获的阶段 3.捕获: 1.普通捕获 正则的方法exec() 字符串的方法match() 普通捕获有懒惰性: 给正则添加一个修饰符g,可以解决: match是将所有捕获的内容放在一个数组中,并返回,match就是exec()对函数的简单封装 2.分…
1.var reg=/./ 与 var reg=/\./的区别? .代表任意一个字符 \.而后者代表这个字符串中得有一个. 2.?的使用 如果单独的一个字符后面带? /\d?/ 代表1个或0个这个字符的出现 (在捕获的阶段) 如果是量词+后面带? 代表取消贪婪性 (在捕获的阶段) 3.捕获 (在全局捕获中,exec()多次输出后,他的起始位置不断地向后匹配,如果匹配不到就是null) 1.普通捕获 exec() match()(对exec()的包装) 普通捕获有懒惰性,给正则添加一个修饰符g可以…
正则(regular expression)描述了一种字符串的匹配式.一般应用在一些方法中,用一些特殊的符号去代表一些特定的内容,对字符串中的信息实现查找,替换,和提取的操作.js中的正则表达式用RegExp对象表示,有两种写法:一种是字面量写法,一种是构造函数写法. 一.定义正则表达式 字面量创建方式 /正则表达式/[修饰符可写可不写] 实例创建方式 new RegExp(字符串,[修饰符]) 二者的区别:直接量定义不能进行字符串拼接,实例创建方式可以:字面量创建方式特殊含义的字符不需要转义,…
1.[正则] 就是用来操作(匹配和捕获)的一系列规则: 匹配:校验字符串是否符合我们的规则:返回值--布尔值           匹配这里用的是正则的方法:test(),reg.text( ); 捕获:把符合规则的内容拎出来:返回值--符合规则的字符串 2.[正则的2种创建方式] 字面量:不能进行变量拼接,特殊含义的字符不需要转译: 实例:可以进行变量的拼接,特殊含义的字符需要转译: 3.[元字符和修饰符] 元字符:就是放在两个斜杠之间的,不认识的代码: 包含:①代表特殊含义的元字符:②代表次数…
正则的理解 1.正则的懒惰性    每次在exec()中捕获的时候,只捕获第一次匹配的内容,而不往下不捕获了.我们把这叫正则的懒惰性,每一次捕获的开始位置都是从0开始 解决正则的懒惰性 修饰符g 正则的实例对象reg上有一个lastIndex属性     他是正则捕获的起始位置 2.     正则的贪婪性 每一次匹配都是按照最长得出结果,我们把这种功能叫正则的贪婪性 如何解决正则的贪婪性 在元字符量词后面加? 补充      循环语句       for       for------in---…
闭包: 函数在调用的时候会形成私有的作用域,对内部的变量起到保护的作用,这就是闭包: 变量销毁: 1.人为销毁 : var a = 12:   a = null: 2.孜然销毁 : 函数在调用完之后,浏览器会自动销毁函数里的变量: 闭包优势: 1.保护函数: 2.缓存数据: 闭包形式: 1.对象形式: 2.函数式: 闭包返回值的问题: 每个函数都有返回值,如果人为返回, return 的什么就是什么 如果没有就是Undefined: 闭包怎么缓存数据?    正则regexp 正则 就是一条规则…
正则:用于检索字符串的规则: js正则: var reg=/规则/ reg是一个对象,在浏览器下: 所以研究他的属性和方法 属性: global是修饰符,代表全局检索 g ignorecase 忽略大小写的检索 i multiline 代表多行匹配 m lastindex 代表检索的起始位置 注意:这个需要结合全局匹配 g source 资源 代表正则表达式中字段的内容: 方法: 匹配的方法 test() 捕获的方法 exec() 每次捕获,就只捕获第一个,就不捕获了,这就是正则的懒惰行: 如何…
之前我刚学的python知识点,没有题目进行熟悉,后面的知识点会有练习题,并且慢慢补充.看到很多都是很简单的练习,碰到复杂.需要运用的再补充吧#字符串中使用到正则表达式 s='hello world' print(s.find('ll')) ret=s.replace('ll','aiq') print(ret) print(s.split('o')) #字符串里面使用的是完全匹配 ##引入正则:模糊匹配#引入例子 import re ret=re.findall('w\w{2}l','hell…
正则对象 var reg = new Regexp('abc','gi') var reg = /abc/ig 正则方法 test方法(测试某个字符串是否匹配) var str = 'abc123'; var ismatch = /[a-z]+\d+$/.test(str); console.log(ismatch); //true exec方法(捕获字符串) var str = 'abcd123'; var reg = /([a-z]{1})/g; //如果没有g,每次从开头匹配 var ar…
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); RegExp对象 本文参考MD…
复杂模式: *分组: var reDogDog=/dogdog/g;---------------var reDogDog=/(dog){2}/g; *引用:(注意带括号和不带括号) var sMatch="#123456789"; var reNum=/(#(\d+))/; reNum.test(sMatch); alert(RegExp.$1+" "+RegExp.$2); var sChange="1234 5678"; var reMat…