python学习记录:常用正则表达式
“正则”, 那可是一个古汉语方面的词汇, 其基本的意思呢, 是对礼仪法则进行匡正, 它出自《楚辞·离骚》, 还有英文表述。正则表达式, 简称为regex, 描述的是一种字符串匹配模式, 它被用于检查一个字符串是否包含某种子字符串, 还能够用来将匹配的子字符串进行替换, 或者从某个字符串中提取出符合某个条件的子字符串等。正则表达式属于计算机概念范畴, 各种语言之中均存在正则表达式, 之所以选用正则而非运用字符串的切片等基础操作, 是由于正则表达式能够以更为简便的方式处理更为复杂的与字符串相关联的操作。举例来说, 借助正则表达式从所获取到的网页元素里截取所需的网址信息, 以此来验证输入的电子邮件、QQ号、登录账号等在格式方面是否正确等操作简便易行。其中正则主要应用于爬虫领域。用于字符串处理、表单验证等场合的正则表达式, 实用又高效。现把一些常用的表达式收集在这儿, 以便应对不时之需。用户名/^a-z0-9_A-Z{3,16}$/密码/^{6,18}$/十六进制值/^#?({6}|{3})$/电子邮箱/^(a-z0-9_\.-)()\.({2,6})$/你提供的内容并不是一个完整的、可理解的句子呀, 请提供正确的句子进行改写而不是复杂的代码类形式呢标点符号。HTML 标签/^(.*)|\s\/)$/编码中的汉字范围/^u4e00-u9fa5,{0,}$/匹配中文字符的正则表达式\u4e00-\u9fa5评注匹配中文还真是个头疼的事有了这个表达式就好办了匹配双字节字符(包括汉字在内)^\x00-\xff评注: 具有这样的作用, 能够用以计算字符串的长度, 这里存在一定规则, 对于一个双字节字符而言, 其长度计为2, 而对于ASCII字符, 其长度计为1。匹配空白行的正则表达式\n\s*\r评注可以用来删除空白行匹配HTML标记的正则表达式.*?|评注, 网上所流传的那版本的状况相当差, 而上面提及的这个, 也仅仅是能够匹配其中一部分, 针对复杂的嵌套标记, 依然是没办法做到有效的处理。匹配首尾空白字符的正则表达式^\s*|\s*$评注: 能够被用以删去行首以及行尾之处的空白字符, 其中涵盖空格、制表符、换页符等等, 是极为有用的表达式。用于匹配Email地址的正则表达式是, \w, 加上, (\w)*, 再加上, , 接着是, \w, 然后是, (\w)*, 随后是, \., 最后是, \w, (\w)*。评注表单验证时很实用匹配网址URL的正则表达式://*评注网上流传的版本功能很有限上面这个基本可以满足需求对帐号进行匹配, 判断其是否合法, 要求以字母开头, 允许的字节数在5到16之间, 并且允许字母、数字以及下划线: 起点符号“^”。a-zA-Z0-9_{4,15}$评注表单验证时很实用与国内电话号码相互匹配, 呈现为: 由三个数字连接一个短横线再连接八个数字, 或者由四个数字连接一个短横线再连接七个数字。评注匹配形式如 0511- 或匹配腾讯QQ号{4,}评注腾讯QQ号从10000开始匹配中国大陆邮政编码\d{5}(?!\d)评注中国大陆邮政编码为6位数字匹配身份证\d{15}|\d{18}评注中国大陆的身份证为15位或18位匹配ip地址\d\.\d\.\d\.\d评注提取ip地址时有用匹配特定数字^\d*$ //匹配正整数^-\d*$ //匹配负整数^-?\d*$ //匹配整数^\d*|0$ //匹配非负整数正整数 0^-\d*|0$ //匹配非正整数负整数 0“^\d*\.\d*|0\.\d*\d*$”, 此为用于匹配正浮点数的内容。^ - 问号 , 数字星号点号或零 点数字星号数字或零问号 点零零加或零 结束符 双斜杠匹配浮点数。//匹配非正浮点数, 它包括负浮点数, 负浮点数的形式为一个负号, 接着是一个非零数字串, 串中可能有小数点, 或者是零开头接着一个小数点再跟上若干个数字, 或者该串为零再加上若干个零直至末尾, 也单独包括零$。评注处理大量数据时有用具体应用时注意修正匹配特定字符串^$ //匹配由26个英文字母组成的字符串^$ //匹配由26个英文字母的大写组成的字符串^$ //匹配由26个英文字母的小写组成的字符串A-Za-z0-9$ //匹配由数字和26个英文字母组成的字符串该正则表达式, 匹配的是, 由数字, 或者, 26个英文字母, 又或者, 下划线, 所组成的, 字符串。