正则表达式

正则表达式

大城市里の小女人 提交于 2020-03-28 02:24:20
正则表达式dom /*--> */ /*--> */ 正则表达式dom 请输入您的邮箱: 请输入您的密码: 记住我 登录 清空 显示邮箱的提示 显示密码的提示 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>正则表达式dom</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="css/bootstrap.css" /> <script type="text/javascript" src="js/jquery-1.11.0.js" ></script> <script type="text/javascript" src="js/bootstrap.js" ></script> <style> form{width:1200px;margin:0 auto;} #emailTip{display: block;} h1{text-align: center;} </style> <script> /*测试提示*/ function usershow(){ $('#emailTip').popover('show'); }

python re 正则表达式汇总

旧城冷巷雨未停 提交于 2020-03-27 23:03:48
import re # text = "1a+_1hello\n" # text1 = '0731-8888888 abc' # ret = re.match('he',text) # ret = re.match('.',text) #.表示可以匹配任意字符 # ret = re.match('\d',text) # 匹配到数字 # ret = re.match('\D',text) # 匹配的任意非数字和\d相反 # ret = re.match('\s',text) #匹配空白字符(\n,\t,\r)以上都是开头匹配的状态 # ret = re.match('\w',text) # 匹配a-z A-Z 数字和下划线 # ret = re.match('\W',text) # 和\w相反的 # ret = re.match('[a1]',text) # [] 组合的方式 匹配1 或是 a # ret = re.match('[\d\-]+',text1) #- 要特殊转义下 才表示- ;[\d\-]表示匹配到一个字符 是数字或是 - 开头的,如果是多个的话用+ # ret = re.match('[^0-9]',text1) # 匹配到0-9的数字,如果用一个^表示非 # ret = re.match('[a-zA-Z0-9_]',text1) #这个和\w一样的效果 #

re模块语法—python正则表达式

被刻印的时光 ゝ 提交于 2020-03-27 21:00:05
用字符串匹配实现 对于简单的匹配查找,可以通过字符串匹配实现,比如:查找以”hello”开头的字符串 此时就可以正确查找出以start开始的字符串了 python中的正则表达式模块 在python中为我们提供了一个正则表达式模块,要使用该模块,必须手动引入该模块 Match对象是一次匹配的结果,包含了很多关于此次匹配的信息,可以使用Match提供的可读属性或方法来获取这些信息。 string: 匹配时使用的文本。 re: 匹配时使用的Pattern对象。 pos: 文本中正则表达式开始搜索的索引。值与Pattern.match()和Pattern.seach()方法的同名参数相同。 endpos: 文本中正则表达式结束搜索的索引。值与Pattern.match()和Pattern.seach()方法的同名参数相同。 lastindex: 最后一个被捕获的分组在文本中的索引。如果没有被捕获的分组,将为None。 lastgroup: 最后一个被捕获的分组的别名。如果这个分组没有别名或者没有被捕获的分组,将为None。 group([group1, …]): 获得一个或多个分组截获的字符串;指定多个参数时将以元组形式返回。group1可以使用编号也可以使用别名;编号0代表整个匹配的子串;不填写参数时,返回group(0);没有截获字符串的组返回None

正则表达式

自闭症网瘾萝莉.ら 提交于 2020-03-27 17:57:17
正则表达式 英文为 Regular expression ,简称: regex 或 regexp 。 含义:按照某种规则去匹配符合条件的字符串 正则表达式由两种基本字符类型构成: 原义文本字符 元字符 元字符是在正则表达式中有特殊含义的非字母字符: * + ? ^ $ . | \ () {} [] 等 常用字符集 : \t :水平制表符 \v :垂直制表符 \n :换行符 \r :回车符 \0 :空字符 \f :换页符 | :或 字符类 : 由元字符 [] 创建。字符类取反:由 ^ 创建,反向类, [^123] 表示不是字符 1 或 2 或 3 的内容 范围类 : [a-z] :来连接两个字符表示从 a 到 z 的任意字符 预定义类 : . : [^\r\n] ,除了回车符和换行符之外的所有字符 \d : [0-9] ,数字字符 \D : [^0-9] ,非数字字符 \s : [\t\n\x0B\f\r] ,空白符 \S : [^\t\n\x0B\f\r] ,非空白符 \w : [a-zA-Z0-9_] ,单词字符(字母、数字、下划线) \W : [^a-zA-Z0-9_] ,非单词字符 边界 : ^ :开始标记,以 xx 开始 $ :结束标记,以 xx 结束 \b :单词边界 \B :非单词边界 量词 : ? :出现 0 次或 1 次 + :出现 1 次或多个 * :出现 0

用正则表达式批量重命名

廉价感情. 提交于 2020-03-27 17:45:44
最近拍了一些照片,开始有意识地上传到PPBC中国图像库保存。PPBC有自动识别的功能,即文件名中包含植物拉丁文名或中文名的情况下,系统可以自动鉴定为相应的物种。这就经常需要对图片重命名,我一般随手写个.bat文件,用dos的rename命令搞一下,非常便捷高效。但人老了总是很糊涂,一是经常记不住相应的命令,像今天建了个txt文件写好了命令,却忘了可执行文件的后缀是啥,改了啥.exe .cmd,真丢人;二是正则匹配经常翻车,下面重点记录下正则表达式的匹配情况。 D:\photo\2020\0326观光木\手机 目录下有一批文件,格式是这样的: IMG_20200326_153346.jpg IMG_20200326_15 3346 .jpg 这是华为手机的自动命名方式,IMG开头加上日期,再加上一串6位的数字,其中前两位还是保持不变的。 我的本意是想在文件名后面加上“_观光木”,于是写了以下命令: rename IMG_20200326_15 * .jpg IMG_20200326_15 * _观光木.jpg 结果文件被命名成这样了: IMG_20200326_153346.jpg_观光木.jpg 把所有的都匹配上了,超吓人的有木有? 改成这样只好去好好研究一下正则表达式,然后想办法改回来: rename IMG_20200326_15 [0-9]{4} .jpg_观光木.jpg

input 的 pattern 验证表单

白昼怎懂夜的黑 提交于 2020-03-27 09:04:07
pattern 用于定义验证输入正则表达式 pattern 属性适用于以下 <input> 类型:text, search, url, telephone, email 以及 password 需要注意的是:input的正则表达式是不需要使用 \ 来转义特殊字符的,这和js里面的正则表达式有所区别,转义了反而会报错 可以使用 title 属性来描述正则表达式,这样在浏览器验证表单是就会按title描述来提示错误消息 使用title虽然会有提示,但提示语前面会附加 “请匹配要求的格式”。如果浏览器是中文,提示语是英文,就会感觉怪怪的 这时我们可以通过setCustomValidity方法来自定义提示信息,更准确的提示给用户,但因为设置了setCustomValidity后如果不手动取消,表单就会一直提示有错误消息而无法提交,所以需要写一段js代码 <script type="text/javascript"> function vali(obj) { if (obj.validity.patternMismatch === true) { obj.setCustomValidity($(obj).prop('title')); } else { obj.setCustomValidity(''); } } </script> <input type="text" pattern="

自己整理的正则表达式(方便用的时候查看)

蹲街弑〆低调 提交于 2020-03-26 15:02:31
一、整数、字母、时间正则表达式 "^\\d+$"  //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$"  //正整数(0不是正整数,第一位数字为0时也会判断是正整数,如001是) "^[1-9]\d*$"  //正整数(0不是正整数,第一位数字为0时会判断不是正整数,如001不是) "^((-\\d+)|(0+))$"  //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$"  //负整数 "^-?\\d+$"    //整数 "^\\d+(\\.\\d+)?$"  //非负浮点数(正浮点数 + 0) "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数 "^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"  //非正浮点数(负浮点数 + 0) "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数 "^(-?\\d+)(\\.\\d+)?$"  //浮点数 "^[A-Za-z]+$"  //由26个英文字母组成的字符串 "^[A-Z]+$"  /

javascript 正则表达式-贪婪模式与懒惰模式

ⅰ亾dé卋堺 提交于 2020-03-26 09:16:25
http://buzheng.org/blog/regex-possessive-quantifiers-reluctant-quantifiers/ 前段时间对自己以前了解的 正则表达式的基础知识 做了一个总结,有了基础知识已经能够能应付大多数情况,像字符串匹配、正则替换、校验等;但是再使用的过程中你可能发现一个问题,就是当使用重复元字符匹配数量时,总是会尽可能长的去匹配,而有时这恰恰不是你想要的。看下面的例子: <a href=”http://www.google.com”>谷歌</a><a href=”http://www.baidu.com”>百度</a> 你希望匹配出每个链接的html内容。如果你用 <a (.*)</a>会首先匹配到整个字符串,而不是你希望的<a href=”http://www.google.com”>谷歌</a>和<a href=”http://www.baidu.com”>百度</a>。 为什么会出现这种情况呢?这就是正则表达式的贪婪模式。当出现重复数量的时候,会尽可能的多匹配。上述的正则表达式中 . 表示任意字符,* 代表可以重复出现任意个,根据正则表达式的贪婪个性,不匹配到最后才怪呢。就像人一样,有贪婪就有懒惰,一个?就可以让正则立刻改变本性,这时的正则就表现懒惰模式的本性了。 修改后的正则表达式为:<a (.*?)</a>

正则表达式中贪婪与懒惰匹配

大憨熊 提交于 2020-03-26 09:12:54
当正则表达式中包含能接受重复的限定符(指定数量的代码,例如*,{5,12}等)时,通常的行为是(在使整个表达式能得到匹配的前提下)匹配尽可能多的字符。如对于一段文本 This is the first line. This is the second line. This is the third line. 用^[\w\W]+$ 匹配会得到整个文本段,由于Regex引擎是贪婪的,它会尽可能的匹配多的选项,知道匹配完。 有时,我们更需要懒惰匹配,也就是匹配尽可能少的字符。前面给出的限定符都可以被转化为懒惰匹配模式,只要在它后面加上一个问号?。如同样用上面一段文本,用^[\w\W]+?$模式进行匹配,匹配到第一个马上返回,不再继续进行查找,所以得到结果: This is the first line. 来源: https://www.cnblogs.com/djcsch2001/archive/2011/06/13/2080029.html

【python】正则表达式

旧时模样 提交于 2020-03-26 09:11:51
参考资料: http://deerchao.net/tutorials/regex/regex.htm 1、正则表达式基础 2、python 正则表达式 1、正则表达式基础 元字符: 其他语法: (1)字符转义 如果你想查找元字符本身的话,比如你查找.,或者*,就出现了问题:你没办法指定它们,因为它们会被解释成别的意思。这时你就得使用\来取消这些字符的特殊意义。因此,你应该使用\.和\*。当然,要查找\本身,你也得用\\. 例如C:\\Windows 匹配C:\Windows (2)分组——用小括号来指定子表达式(也叫做分组) 例如:(\d{1,3}\.){3}\d{1,3}是一个简单的IP地址匹配表达式,\d{1,3}匹配1到3位的数字,(\d{1,3}\.){3}匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3次,最后再加上一个一到三位的数字(\d{1,3})。不幸的是,它也将匹配256.300.888.999这种不可能存在的IP地址。选择,字符类来描述一个正确的IP地址为:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)。 (3)贪婪与懒惰 当正则表达式中包含能接受重复的限定符时,通常的行为是(在使整个表达式能得到匹配的前提下)匹配 尽可能多 的字符。以这个表达式为例:a.*b