正则

正则

六眼飞鱼酱① 提交于 2020-01-17 11:52:09
/^[a-zA-Z0-9\u4e00-\u9fa5\,,]+$/ ==》这个正则不得了,可以匹配正文,数字,大小写还有可以自定义一些特殊符号,有效防止跨站攻击,就是完美。 /^[a-zA-Z0-9\u4e00-\u9fa5\,${}_,!: ]{1,125}$/ ==>这个就更完美了,不仅有上面的全部优点,而且字符长度还可以限制 ipv4/ipv6:/^\s*(((([0-9A-Fa-f]{1,4}:){7}(([0-9A-Fa-f]{1,4})|:))|(([0-9A-Fa-f]{1,4}:){6}(:|((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(:[0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})

生成器迭代器正则视频笔记

僤鯓⒐⒋嵵緔 提交于 2020-01-17 08:57:30
多任务文件夹: import os os.mkdir(old_name+"复件") 创建文件夹 os.listdir("dirname") 返回一个列表 multiprocessing 多进程 创建进程池: po = multiprocessing.Pool(5) for work in works: po.apply_async(函数地址,函数参数) multiprocessing.Queue() print("\r %.2f %% " % args, end="") \r 回到行首 %.2f 保留两位小数 %% 显示% end=""不换行 协程: 迭代器: 只能往前不会回退。 for in 元祖, 列表 , 字典 ,字符串 判断是不是可以迭代对象: collections import Iterable isinstance(Object, Iterable) print("xxxx",isinstance(classmate,Iterable)) 打印元祖 必须有__iter__(self): def 保证一个对象成为一个可迭代对象. 保证类里有__iter__(self): 方法 from collections import Iterable class Classmate(object): def __init__(self): self.name = list()

表单的正则判断

邮差的信 提交于 2020-01-16 03:02:16
前端页面中表单的正则判断,其中包括姓名、手机号、邮箱等,根据页面功能来定。下面是对姓名、手机号、邮箱的正则判断。 当输入框失焦时,判断输入的内容正确与否;若为空或格式有误, 一、在输入框下面提示相应的信息 HTML: < div class = " index_con " > < div class = " index_ipt " > < div class = " ipt name " > < label > 姓名 </ label > < input class = " ipt_name " type = " text " name = " name " id = " name " placeholder = " 请输入您的姓名 " /> < span class = " span1 " > </ span > </ div > < div class = " ipt tel " > < label > 手机 </ label > < input class = " ipt_phone " type = " text " name = " tel " id = " tel " placeholder = " 请输入您的手机号 " /> < span class = " span2 " > </ span > </ div > < div class = " ipt email

正则匹配判断电话号码是否真实、几连号、几顺序号

拈花ヽ惹草 提交于 2020-01-15 23:56:00
正则匹配判断电话号码是否真实、几连号、几顺序号 正则匹配 1.主要是从输入的字符串中匹配出满足条件的字符串,即判断是否为电话号码。 2.电话号码的连号和顺序号判断,主要是通过正则匹配式将相应的字符串匹配出来,再根据匹配出的字符串长度去判断其为几连号、几顺序号。 3.各大运营商截止到目前的号段: 移动号段:134(0-8)、135、136、137、138、139、147、148 联通号段:130、131、132、145、146、155、156、166、175、176、185、186 电信号段:133、134(9)、149、153、173、174、177、180、181、189、191、193、199 虚拟号:170、171、162、165、167 添加的新号段: 150、151、152、157、158、159、172、178、182、183、184、187、188、198 1.判断是否为真实的电话号码 此处根据目前三大运营商所存在的电话号段以及电话号码的格式(必须为11位数字)去判断字符串是否为真实的电话号码。 正则匹配式:phone_pat = re.compile(’^1((3[\d])|(4[5-9])|(5[0-35-9])’ ‘|(6[6])|(7[2-8])|(8[\d])|(9[1389]))\d{4}\d{4} *$’) import re while True:

正则总结

别等时光非礼了梦想. 提交于 2020-01-15 17:03:16
一、创建正则的两种方式 1. 字面量方式 var reg = /\d+/ 字面量方式//之间包起来的都是元字符,有的是具有特殊意义的元字符,大部分是代表本身含义的普通元字符 2. 实例创建 var reg = new RegExp("\\d+") 两种方式的区别 (1)字面量方式中出现的都是元字符,不能进行变量的拼接,而实例创建的方式可以 eg: var reg = new RegExp("\\d+"+name) //name是一个变量 (2)字面量方式中可以直接写\d,但是在实例创建中需要转义\d,所以应该写\\d,否则则是匹配真实的"\d"字符串 二、正则中常见的元字符 1. 具有特殊意义的元字符 \:转义字符 ^:以XXX开头 $:以XXX结尾 \n:换行 .:除了\n以外的所有字符 ():分组 分组的作用: (1)改变优先级,就像我们算数中的一样,通过括号改变优先级 eg: var reg = /^18|19$/ (代表以1开头,9结尾都可以满足) var reg = /^(18|19)$/代表18或者19 (2)分组捕获,这点可以看下面的正则分组 x|y:x或者y中的一个 [xyz]:x,y,z中的一个(xyz只识别一位的) [^zyz]:不是x,y,z中的一个 \d:一个0-9之间的数字 \D:除了0-9的数字的任意字符 \b:一个边界符 \w:数字字母下划线[a-zA

antd中表单校验正则使用方式

六眼飞鱼酱① 提交于 2020-01-15 14:59:01
类组件的结构(最外层需要先包裹一层语法糖) const PersonManagement = Form.create()( class extends React.Component{} ) epxort default PersonManagement 从form中解构出需要的一些方法 const { getFieldDecorator } = this.props.form; 表单项的编写 <Form.Item label="姓名" > {getFieldDecorator("name", { rules: checkRules('null') })( <Input placeholder="请输入姓名" onChange={e => this.inputOnChange("name", e.target.value) } /> )} </Form.Item> 这里的rules的值是一个对象,我是做了一遍封装(封装了几种常用的表单校验的方式) export const checkRules = (type: string) => { switch(type) { case 'telPhone' : return ([{ required: true, pattern: /^1[34578]\d{9}$/, message: '手机号格式不正确' }]) case 'idCard

问题件登记正则

与世无争的帅哥 提交于 2020-01-15 02:41:40
【{‘A5’:‘不|想|要|喜|欢|买|错|太|大|合|适’}】 A1-送无人 A10-自提件 A11-自取未取 A12-客户要求改地址 A14-客户地址禁止快递出入 A15-空包件 A16-客户放假,假后派送 A17-等待收件人仓库验货 A2-地址不详/错误 A22-测试问题件 A3-地址错误,电话错误停机 A4-无电话、无收件人、无此人 A5-客户拒收 A6-拒付费用 A7-客户强制验视内件 A8-两次免费派送,第三次有偿派送 A9-预约投递 B1-超区 B10-报关资料不详 B11-双面单 B12-污染件 B13-进仓/报关资料不详 B14-非中通包装 B15-面单重复使用 B16-催查件 B17-签收未收到 B18-转/派服务费 B19-水果生鲜类破损 B2-无点 B3-错分/错发 B4-破损/短少/内件不符 B5-面单脱落/破损/磨损 B6-禁运品 B7-突发情况下不能及时送达 B8-少带、未带派送费 B9-有单无货 C1-自然灾害 C2-政府干涉 C3-淘宝“大促” A13-退件/改寄件 D1-网络投诉 D10-罚单 D2-延误仲裁 D3-超区/无点 D4-客诉保障 D5-非本人签收 D6-遗失破损仲裁 D8-乱收费 D9-错发综合 E3-错发 E4-电话无人接听 G1-工单跟进 G2-退改件 G3-物流停滞 E1-签单返还 E2-后付费 E5-仲裁投诉 E6-仲裁索证

字符串转义和正则转义

人盡茶涼 提交于 2020-01-14 23:01:04
参考 原始字符串 r"xxx" 常用在正则表达式中 普通字符串 “xxx” 若要用在正则表达式中,需要先进行字符串转义,再进行正则转义 print ( r 'hello\world\nzyl' ) #原始字符串 print ( 'hello\world\\nzyl' ) #字符串转义 运行后输出结果是一样的 print ( re.match ( r '.*(\d+)\\' , string ) .group ( 0 )) print ( re.match ( '.*(\d+)\\\\' , string ) .group ( 0 )) 上面两种方式的返回值都是一样的,尽量使用原始字符串进行正则转义 来源: CSDN 作者: 扣剑书生 链接: https://blog.csdn.net/weixin_44038167/article/details/103980187

.

自作多情 提交于 2020-01-14 21:56:20
"^" :^会匹配行或者字符串的起始位置,有时还会匹配整个文档的起始位置。 "$" :$会匹配行或字符串的结尾 "\b" :不会消耗任何字符只匹配一个位置,常用于匹配单词边界 如 我想从字符串中"This is Regex"匹配单独的单词 "is" 正则就要写成 "\bis\b" \b 不会匹配is 两边的字符,但它会识别is 两边是否为单词的边界 "\d" : 匹配数字,例如要匹配一个固定格式的电话号码以0开头前4位后7位,如0737-5686123 正则:^0\d\d\d-\d\d\d\d\d\d\d$ 这里只是为了介绍"\d"字符,实际上有更好的写法会在 下面介绍。 "\w" :匹配字母,数字,下划线.例如我要匹配"a2345BCD__TTz" 正则:"\w+" 这里的"+"字符为一个量词指重复的次数,稍后会详细介绍。 "\s" :匹配空格 例如字符 "a b c" 正则:"\w\s\w\s\w" 一个字符后跟一个空格,如有字符间有多个空格直接把"\s" 写成 "\s+" 让空格重复 "." :匹配除了换行符以外的任何字符这个算是"\w"的加强版了"\w"不能匹配 空格 如果把字符串加上空格用"\w"就受限了,看下用 "."是如何匹配字符"a23 4 5 B C D__TTz" 正则:".+" "[abc]" : 字符组 匹配包含括号内元素的字符 "*"(贪婪)

nginx中location、rewrite用法总结

╄→尐↘猪︶ㄣ 提交于 2020-01-14 19:31:36
一、location用法总结 location可以把不同方式的请求,定位到不同的处理方式上. 1.location的用法 location ~* /js/.*/\.js 以 = 开头,表示精确匹配;如只匹配根目录结尾的请求,后面不能带任何字符串。 以^~ 开头,表示uri以某个常规字符串开头,不是正则匹配 以~ 开头,表示区分大小写的正则匹配; 以~* 开头,表示不区分大小写的正则匹配 以/ 开头,通用匹配, 如果没有其它匹配,任何请求都会匹配到 location 的匹配顺序是“先匹配正则,再匹配普通”。 矫正: location 的匹配顺序其实是“先匹配普通,再匹配正则”。我这么说,大家一定会反驳我,因为按“先匹配普通,再匹配正则”解释不了大家平时习惯的按“先匹配正则,再匹配普通”的实践经验。这里我只能暂时解释下,造成这种误解的原因是:正则匹配会覆盖普通匹配。 2.location用法举例 location正则写法: # 精确匹配 / ,主机名后面不能带任何字符串 location = / { [ configuration A ] } 2.# 所有的地址都以 / 开头,所以这条规则将最后匹配到默认请求 # 但是正则和最长字符串会优先匹配 location / { [ configuration B ] } 例: location / { proxy_pass http:/