正则

js正则及常用方法函数总结

拈花ヽ惹草 提交于 2020-03-04 15:19:58
正则表达式作为一种匹配处理字符串的利器在很多语言中都得到了广泛实现和应用,web开发本质上是处理字符串(服务端接受请求处理后拼接字符串作为响应,这在早期的CGI编程中最明显,然后客户端解析字符串进行渲染和执行),所以说,JS作为一门常用于web开发的语言,必然要具备正则这种强大的特性,本文将对JS中的正则用法及常用函数进行一番总结。 1.正则对象及其属性 首先正则对象是JS中内置的一个对象,好比Array以及Math一样,不需要第三方库的支持,通常我们采取两种方式来定义一个正则对象 1)构造函数方式 var reg=new RegExp('abc','gi'); 这里,第一个参数是正则的内容,第二个参数是修饰符,修饰符通常有三种,i,g,m,i表示的含义是忽略大小写进行匹配,g表示全局匹配即匹配到第一个之后不停止继续匹配,m表示多行匹配即遇到换行后不停止匹配继续直到被匹配字符串结束。 2)字面量方式 var reg=/abc/gi; 两个斜杠之间的是定义的正则内容,最后一个斜杠之后的是修饰符,这种方式比第一种简单高效,所以通常使用第二种方式来定义正则。 其次,正则作为JS中的一个内置对象,它必然有一些属性和方法,如下: 2.属性 在控制台中打印一个正则对象如下: 可以看到它拥有global属性,该属性为布尔类型,用来表示该正则是否是全局匹配,ignoreCase属性,布尔类型

正则表达式及常用用法

元气小坏坏 提交于 2020-03-04 13:39:51
正则表达式,又称正规表示法、常规表示法。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。 正则表达式,有木有人像我一样,学了好几遍却还是很懵圈,学的时候老明白了,学完了忘光了。好吧,其实还是练的不够,所谓温故而知新,可以为师矣,今天就随我来复习一下这傲娇的正则表达式吧。 为啥要有正则表达式呢?其实就是因为计算机笨(这话不是我说的),比如123456@qq.com,我们一看就是邮箱,可是计算机不认识啊,所以我们就要用一些计算机认识的语言,来制定好规则,告诉它符合这个规则的就是个邮箱,这样计算机就能帮我们找到对应的东西了。所以正则就是用来设置规则,来完成我们需求的一些操作的,比如登录验证啦,搜索指定的东西啦等等,说太多都是多余,直接看正题吧。 定义正则: ? 1 2 1 var re = new RegExp(“a”); //RegExp对象。参数就是我们想要制定的规则。有一种情况必须用这种方式,下面会提到。 2 var re = /a/; // 简写方法 推荐使用 性能更好 不能为空 不然以为是注释 , 正则的常用方法 1 test() :在字符串中查找符合正则的内容

计算机要从娃娃抓起---------正则表达式(学习笔记一)

最后都变了- 提交于 2020-03-04 13:37:03
这篇主要是将正则,学习新东西,我记得老师说过一个好方法,要带着疑问去学习,不能光看理论,你要一直想着这个东西是干嘛的,怎么用,用在哪,我觉得的说的很好.所以在看的时候要一直想着这些问题. 这是本喵的学习笔记可能有很多不足之处,希望大家能多提意见! 开始吧,上课! 什么是正则表达式? 正则:也叫规则,能让计算机读懂人类的规则. ( 注意:正则都是都是操作字符串的) 正则的写法: var re =/a/; 这里写两个//的话系统会认为这是注释,所以最好写点东西. var re = new RegExp('a'); 正则中默认是区分大小写的,如果不区分大小写的话,在正则的最后加标识i 正则默认:正则匹配成功就会结束,不会继续匹配.如果想全部查找就要加标识 g(全局匹配) 常用方法: 1) test:正则去匹配字符串,如果匹配成功就返回真,失败返回假. test的写法:正则.test(字符串 ); eg: var str = 'abcddef'; var re = /b/; alert(re.test(str)); 这时候就会返回ture,因为需要匹配的b在字符串中; 如果匹配的bc呢?(也会返回ture) 如果匹配的bd呢?(会返回false,因为bd不是一个整体) 转义字符: \s :空格 \S:非空格 \d:数字 \D;非数字 \w:字符(字母,数字,下划线) \W:非自字符 2)

正则表达式

旧城冷巷雨未停 提交于 2020-03-04 13:19:54
一.正则表达式常用方法 1.test:正则去匹配字符串,如果匹配成功就返回真,如果匹配失败就返回假   字符串判断     返回真假     正则.test(字符串)     例子:是否有不是数字的字符 var str='abcdef'; var re=/b/; alert(re.test(str)); /*转义字符 \s:空格 \S:非空格 \d:数字 \D:非数字 \w:字符(字母、数字、下划线_) \W:非字符 */ var str='37482t9348791'; var re=/\D/; if(re.test(str)){ alert('不全是数字'); }else{ alert('全是数字'); } 2.search:正则去匹配字符串,如果匹配成功,就返回匹配成功的位置,如果匹配失败就返回-1   字符串搜索      返回出现的位置      字符串.search(正则)      忽略大小写:i-ignore var str='abcdef'; //不区分大小写 var re=/B/i; // var re=new RegExp('B','i'); alert(str.search(re)); 3.match:正则去匹配字符串,如果匹配成功,就返回匹配成功的数组,如果匹配失败就返回null   获取匹配的项目     返回数组     字符串.match(正则)  

常用正则标记

偶尔善良 提交于 2020-03-04 13:04:28
正则标记 【单个】字符匹配 任意字符 :表示由任意字符组成 \\ :匹配一个‘’ \n :匹配换行 \t :匹配制表符 【单个】字符集(可以从里面任选一个字符) [abc] :可以是字母abc中任意一个 [^abc] :非字母abc中的任意一个 [a-zA-Z] :一个任意字母,不区分大小写 [0-9] :一位任意数字 【单个】简化字符集 . :一个任意字符 \d :等价于 [0-9] \D :等价于 [^0-9] \s :匹配任意的一位空格,可能是空格、换行、 制表符 \S :匹配任意的非空格数据 \w :匹配字母、数字、下划线,等价于 [a-zA-Z_0-9] \W :匹配非字母、数字、下划线,等价于 [^a-zA-Z_0-9] 边界匹配 ^ :匹配边界开始 $ :匹配边界结束 数量表示,默认情况下只有添加上了数量单位才可以匹配多位字符 表达式? :该正则可以出现0次或1次 表达式* :该正则可以出现0次、1次或多次 表达式+ :该正则可以出现1次或多次 表达式{n} :表达式的长度正好为n次 表达式{n,} :表达式的长度为 n次以上 表达式{n,m} :表达式的长度为n~m次; 逻辑表达式:可以连接多个正则 表达式X表达式Y :X表达式之后紧跟上Y表达式 表达式X|表达式Y :有一个表达式满足即可 {表达式} :为表达式设置一个整体描述,可以为整体描述设置数量单位 来源:

Linux实战教学笔记09:通配符

放肆的年华 提交于 2020-03-04 06:14:49
第九节 通配符 标签(空格分隔): Linux实战教学笔记 --- 更多详细资料请点我查看 第1章 回顾特殊符号 | #管道符,或者(正则) > #输出重定向 >> #输出追加重定向 < #输入重定向 << #追加输入重定向 ~ #当前用户家目录 `` $() #引用命令被执行后的结果 $ #以。。。结尾(正则) ^ #以。。。开头(正则) * #匹配全部字符,通配符 ? #任意一个字符,通配符 # #注释 & #让程序或脚本切换到后台执行 && #并且 同时成立 [] #表示一个范围(正则,通配符) {} #产生一个序列(通配符) . #当前目录的硬链接 .. #上级目录的硬链接 第2章 通配符 他是shell的内置功能 通配符,用过DOS的应该很了解,也很常用。 通配符,指包含这些字符的字符串“?”,“*”,“【”,{} 通配符含义===>匹配文件名 符号 作用 * 匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file * ? 匹配任何一个字符(不在括号内时)?代表人意1个字符 ls file 0 [abcd] 匹配abcd中任何一个字符 [a-z] 表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls file 0 {..} 表示生成序列。以逗号分隔,且不能有空格 补充 [!abcd] 或[^abcd]表示非

Linux之通配符

眉间皱痕 提交于 2020-03-04 05:53:51
Linux之通配符 前言:学习通配符有点为正则表达式打基础的感觉……之前学python有学过 正则表达式 ,所以这篇博客学起来还是挺快的。 特殊符号 | #管道符,或者(正则) > #输出重定向 >> #输出追加重定向 < #输入重定向 << #追加输入重定向 ~ #当前用户家目录 `` $() #引用命令被执行后的结果 $ #以。。。结尾(正则) ^ #以。。。开头(正则) * #匹配全部字符,通配符 ? #任意一个字符,通配符 # #注释 & #让程序或脚本切换到后台执行 && #并且 同时成立 [] #表示一个范围(正则,通配符) {} #产生一个序列(通配符) . #当前目录的硬链接 .. #上级目录的硬链接 通配符 他是shell的内置功能 通配符,用过DOS的应该很了解,也很常用。 通配符,指包含这些字符的字符串“?”,“*”,“[]”,{} 通配符含义===>匹配文件名 符号 作用 * 匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file * ? 匹配任何一个字符(不在括号内时)?代表任意1个字符 ls file 0 [abcd] 匹配abcd中任何一个字符 [a-z] 表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls file 0 {..} 表示生成序列. 以逗号分隔,且不能有空格 补充 [!abcd] 或[^abcd

Linux实战教学笔记09:通配符

心不动则不痛 提交于 2020-03-04 05:49:50
第九节 通配符 标签(空格分隔): Linux实战教学笔记 --- 更多详细资料请点我查看 第1章 回顾特殊符号 | #管道符,或者(正则) > #输出重定向 >> #输出追加重定向 < #输入重定向 << #追加输入重定向 ~ #当前用户家目录 `` $() #引用命令被执行后的结果 $ #以。。。结尾(正则) ^ #以。。。开头(正则) * #匹配全部字符,通配符 ? #任意一个字符,通配符 # #注释 & #让程序或脚本切换到后台执行 && #并且 同时成立 [] #表示一个范围(正则,通配符) {} #产生一个序列(通配符) . #当前目录的硬链接 .. #上级目录的硬链接 第2章 通配符 他是shell的内置功能 通配符,用过DOS的应该很了解,也很常用。 通配符,指包含这些字符的字符串“?”,“*”,“【”,{} 通配符含义===>匹配文件名 符号 作用 * 匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file * ? 匹配任何一个字符(不在括号内时)?代表人意1个字符 ls file 0 [abcd] 匹配abcd中任何一个字符 [a-z] 表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls file 0 {..} 表示生成序列。以逗号分隔,且不能有空格 补充 [!abcd] 或[^abcd]表示非

转载:正则化

南楼画角 提交于 2020-03-04 00:14:08
原文链接:https://blog.csdn.net/qq_20412595/article/details/81636105 一、Why & What 正则化 我们总会在各种地方遇到正则化这个看起来很难理解的名词,其实它并没有那么高冷,是很好理解的 首先,从使用正则化解决了一个什么问题的角度来看:正则化是为了防止过拟合, 进而增强泛化能力。用白话文转义,泛化误差(generalization error)= 测试误差(test error),其实就是使用训练数据训练的模型在测试集上的表现(或说性能 performance)好不好 如上图,红色这条“想象力”过于丰富上下横跳的曲线就是过拟合情形。结合上图和正则化的英文 Regularizaiton-Regular-Regularize,直译应该是:规则化(加个“化”字变动词,自豪一下中文还是强)。什么是规则?你妈喊你6点前回家吃饭,这就是规则,一个限制。同理,在这里,规则化就是说给需要训练的目标函数加上一些规则(限制),让他们不要自我膨胀。正则化,看起来,挺不好理解的,追其根源,还是“正则”这两字在中文中实在没有一个直观的对应,如果能翻译成规则化,更好理解。但我们一定要明白,搞学术,概念名词的准确是十分重要,对于一个重要唯一确定的概念,为它安上一个不会产生歧义的名词是必须的,正则化的名称没毛病,只是从如何理解的角度,要灵活和类比。

正则表单验证

北战南征 提交于 2020-03-03 08:37:50
<!DOCTYPE html> <html> <head> <title> New Document </title> <meta name="Generator" content="EditPlus"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> </head> <body> <form action="" > <table width="449" height="530" border="1" align='center'> <tr> <td colspan="2" align="center">用户名注册</td> </tr> <tr> <td width="116" align="right">姓名:</td> <td width="323"> <label> <input type="text" name="" id="name" /><span id="s1"></span> </label> </td> </tr> <tr> <td width="116" align="right">性别:</td> <td width="323"> <label> <input type="radio" name="sex