regex

Extract phone number from noised string

落爺英雄遲暮 提交于 2021-02-14 18:35:00
问题 I have a column in a table that contains random data along with phone numbers in different formats. The column may contain Name Phone Email HTML tags Addresses (with numbers) Examples: 1) Call back from +79005346546, Conversation started<br>Phone: +79005346546<br>Called twice Came from google.com<br>IP: 77.106.46.202 the web page address is xxx.com utm_medium: cpc<br>utm_campaign: 32587871<br>utm_content: 5283041 79005346546 2) John Smith 3) xxx@yyy.com 4) John Smith 8 999 888 77 77 How a

2019-2-12 正则表达式验证手机号

僤鯓⒐⒋嵵緔 提交于 2021-02-14 16:53:18
只能输入汉字!!! 要引用命名空间 using System.Text.RegularExpressions; private void txtUserName_KeyPress(object sender, KeyPressEventArgs e) { Regex rg = new Regex("^[\u4e00-\u9fa5]$"); //正则表达式 if (!rg.IsMatch(e.KeyChar.ToString()) && e.KeyChar != '\b') //'\b'是退格键 { e.Handled = true; } }       //写在keydown事件下 TextBox txt = sender as TextBox; //屏蔽非法按键 if ((e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9) )//自己改建 { e.Handled = false; } else if (((e.Key >= Key.D0 && e.Key <= Key.D9) || e.Key == Key.OemPeriod) && e.KeyboardDevice.Modifiers != ModifierKeys.Shift) { e.Handled = false; } else { e.Handled = true; } /

django 模型——model 字段

﹥>﹥吖頭↗ 提交于 2021-02-14 12:12:42
Django 通过 models 实现数据库的创建、修改、删除等操作 模型中一般常用的类型的清单 AutoField 一个自动递增的整型字段,添加记录时它会自动增长。你通常不需要直接使用这个字段;如果你不指定主键的话,系统会自动添加一个主键字段到你的model。 BooleanField: 布尔字段,管理工具里会自动将其描述为checkbox。 CharField: 字符串字段,单行输入,用于较短的字符串,如要保存大量文本, 使用 TextField,CharField有一个必填参数: CharField.max_length:字符的最大长度, django 会根据这个参数在数据库层和校验层限制该字段所允许的最大字符数。 TextField: 一个容量很大的文本字段, admin 管理界面用 <textarea>多行编辑框表示该字段数据。 CommaSeparatedIntegerField: 用于存放逗号分隔的整数值。类似 CharField,必须maxlength 参数。 DateField: 日期字段,admin 用一个文本框 <input type=”text”> 来表示该字段数据(附带一个 JavaScript 日历和一个”Today”快捷按键。有下列额外的可选参数: auto_now:当对象被保存时,自动将该字段的值设置为当前时间.通常用于表示 “last

从零开始学正则(二)

生来就可爱ヽ(ⅴ<●) 提交于 2021-02-14 09:25:51
壹 ❀ 引 我在 从零开始学正则(一 )这篇文章中介绍了正则横向模糊与纵向模糊匹配模式,以及常用的字符组与量词,掌握了这些其实已经算正则入门了。在文尾留下了两个正则问题, 请写出匹配24小时制时间与16进制颜色的正则 ,在学习第二章之前我们先搞定这两个问题。 24小时制时间格式一般是09:30这样,小时的第一位数字可能是[0-2]三种情况之一,当为0,1时,第二位数字可以是[0-9]任意数字,当为2时第二位数字只能是0-3之间的数字。第三位数字只能是0-5之间的数字,最后一位数字只能是0-9之间。 我们只用对于小时的两种情况做个分支,所以正则可以写成这样: var regex = /^([01][0-9]|[2][0-3]):[0-5][0-9]$/ ; regex.test( "00:07"); // true regex.test("23:59"); // true 注意,匹配小时的分支我们使用了一对圆括号包裹,表示这是一个组,而组内包含了两个分支情况,如果不加圆括号正则解析时会将管道符 | 左右两侧理解成两个分支,如下图,很明显这不是我们想要的规则: 其次,在正则内部开头和结尾我们分别使用了 ^$ 两个符号,这表示正则匹配时严格以字符串开头和结尾中间的内容为匹配对象,如果不加效果就是这样: var regex = /([01][0-9]|[2][0-3]):[0-5][0-9

从零开始学正则(一)

。_饼干妹妹 提交于 2021-02-14 09:13:37
壹 ❀ 我为什么学正则 正则表达式是从侧面衡量一个程序员水平的标准,可以很肯定的说没有哪位高级开发不懂正则。在前端开发中使用正则表达式最频繁的场景莫过于表单验证,判断邮箱,判断手机号格式等等,那么我是怎么解决这些问题的呢,打开百度,输入“正则验证手机”回车,复制粘贴即可。我想大家应该看过不少关于常用正则整理的文章,我不理解正则,反正从来也记下来了。 古人云,熟读唐诗三百首,不会做诗也会吟。我会花三周左右系统化学习正则表达式,若你有兴趣可以与我一同学习(一起受苦),我相信学成之后即使无法立刻写出逼格满满的正则,但对于阅读大部分常见正则应该是没问题的。 另外,正则学习系列文章均为我阅读 老姚《JavaScript正则迷你书》 的读书笔记,毕竟此时的我也只是一个学习者。这本书写的真的超级棒,推荐大家下载在闲暇时间阅读。 文中所有正则图解均使用 regulex 制作。 最后偷偷说一句,公司前端组没一个人懂正则,等我学会了我将是组里第一个略懂正则的人!! 贰 ❀ 正则两种模糊匹配 正则表达式是一种匹配模式,要么匹配字符(符合规则的字符),要么匹配位置(符合规则字符所在的位置)。 正则之所以强大,是因为 正则能实现模糊匹配 ;在实际开发中,我们往往需要匹配某一范围的数据。举个贴切的例子,当验证用户输入邮箱格式是否正确,除了“ @ ”等固定字符以外,用户输入的具体字符我们是无法估量和统计的

Perl正则表达式超详细教程

一曲冷凌霜 提交于 2021-02-14 08:53:16
前言 想必学习perl的人,对基础正则表达式都已经熟悉,所以学习perl正则会很轻松。这里我不打算解释基础正则的内容,而是直接介绍基础正则中不具备的但perl支持的功能。关于基础正则表达式的内容,可参阅 基础正则表达式 。 另外,本系列只介绍匹配操作,关于内容替换,因为和学习使用perl正则并无多大关系,所以替换相关的将在下一篇文章单独解释。 这里推荐一个学正则非常好的资料:stackflow上关于各种语言(perl/python/.net/java/ruby等等)的正则的解释、示例,这里收集的都是对问题解释的非常清晰且非常经典的回答。在我学习perl正则的时候,对有些功能实在理解不了(想必你也一定会),就会从这里找答案,而它,也从来没让我失望: https://stackoverflow.com/questions/22937618/reference-what-does-this-regex-mean/22944075#22944075 以下是perl正则的man文档: perl正则快速入门:man perlrequick perl正则教程:man perlretut perl正则完整文档:man perlre 学perl正则必备的一点基本语法 新建一个文件作为perl脚本文件,在其首行写上 #!/usr/bin/perl ,它表示用perl作为本文件的解释器

Nginx详解

梦想的初衷 提交于 2021-02-14 08:37:13
Nginx详解 一、Nginx介绍 nginx:开源的,高性能的。高并发的www服务器和代理服务    对静态资源处理能力强,占用资源极少,    高并发状态下容易造成崩溃 同类型web服务:apache、tomacat、resin、weblogic 反向代理:lvs、haproxy 前端缓存:squid、vanish 二、Nginx重要特性 ①支持高并发    ②资源消耗少 三、Nginx三大功能 ①web服务  ②前端缓存  ③反向代理 Nginx使用的是epoll模型 Apache使用的是select模型(初始模型,性能差) Apache在处理动态资源的时候比Nginx强 什么是epoll:异步I/O网络非阻塞模型 什么是select:同步I/O网络阻塞模型 四、Nginx安装 安装Nginx的支持包:pcre-devel openssl-devel 解压nginx包到/usr/local 进入nginx解压后的包进行编译: ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module && make && make install 做软连接或环境变量==>echo "PATH=$PATH:/usr/local

Regular expression matches more than expected

不想你离开。 提交于 2021-02-13 17:30:46
问题 Given is the following python script: text = '<?xml version="1.24" encoding="utf-8">' mu = (".??[?]?[?]", "....") for item in mu: print item,":",re.search(item, text).group() Can someone please explain why the first hit with the regex .??[?]?[?] returns <? instead of just ? . My explaination: .?? should match nothing as .? can match or not any char and the second ? makes it not greedy. [?]? can match ? or not, so nothing is good, too [?] just matches ? That should result in ? and not in <?

Regular expression matches more than expected

 ̄綄美尐妖づ 提交于 2021-02-13 17:30:42
问题 Given is the following python script: text = '<?xml version="1.24" encoding="utf-8">' mu = (".??[?]?[?]", "....") for item in mu: print item,":",re.search(item, text).group() Can someone please explain why the first hit with the regex .??[?]?[?] returns <? instead of just ? . My explaination: .?? should match nothing as .? can match or not any char and the second ? makes it not greedy. [?]? can match ? or not, so nothing is good, too [?] just matches ? That should result in ? and not in <?

C# Regex - only match if substring exists?

允我心安 提交于 2021-02-13 17:28:45
问题 Ok, so I think I've got a handle on negation - now what about only selecting a match that has a specified substring within it? Given: This is a random bit of information from 0 to 1. This is a non-random bit of information I do NOT want to match This is the end of this bit This is a random bit of information from 0 to 1. This is a random bit of information I do want to match This is the end of this bit And attempting the following regex: /(?s)This is a random bit(?:(?=This is a random).)*