【第21期】观点:人工智能到底用 GPU?还是用 FPGA?

学习正则表达式,一看就懂

转载 2016年05月30日 10:41:14

3个重要的正则式命令

记住正则语法最好的办法就是记住这三样东西:Bracket(括号), caret(插入符号)和Dollars(美元符号)。
这里写图片描述

B在正则表达式中有3种类型的括号
方括号 “[“和花括号“{“ 。
方括号”[“内是需要匹配的字符,花括号”{“内是指定匹配字符的数量。
圆括号“(“ 则是用来分组的。

C 插入符号 “^” 表示正则式的开始。

D 美元符号“$” 表示正则式的结束。

现在你知道上面的3个语法后,你就可以写世界上任何一条验证规则了。比如下面的例子就很好的说明了上面3条正则语法是如何协调运作的。


让我们在来看看BCD(其实也就是上面说的3条基本语法)如何验证email格式

第一步:email开始是长度在1-10的英文字母,最后跟一个”@”:

^[a-zA-Z0-9]{1,10}@

第二步:@后面是长度在1-10的英文字母,后面跟一个”.”:

[a-zA-Z]{1,10}.

第三步:最后以.com或.org结束:

.(com|org)$

最后完整的表达式如下:

^[a-zA-Z0-9]{1,10}@[a-zA-Z]{1,10}.(com|org)$
^[a-zA-Z0-9]{1,10}[@][a-zA-Z]{1,10}[.](com|org)$
^[a-zA-Z0-9]{1,10}[@][a-zA-Z]{1,10}\.(com|org)$

在这里说明一下,其实.号在正则表达式里面是一个快捷符号,已经代表了“除换行符之外的所有符号”,所以最好在这个例子里用[.]来表示点,这样就是代表.号了。然后还可以用反斜杠\来转义.号,.就是代表了.号。所有在正则里已经有含义的符号都可以用\来转义。可以在线测试对比下,提供个网址:[http://tool.oschina.net/regex/]


快捷命令不用也可以,因为用范围符+频率+定位符^$都可以实现匹配,用快捷命令是成为高手的必经路

这里写图片描述

补充一些:
\s代表单个空格,Tab和换行
\S是\s逆运算
\w代表字母、数字和下划线
\W是\w的逆运算

然后{}是频率的用法
{n} 代表确定n次
{n,}n次及以上
{n,m}n至m次
+代表一次或多次,可以写成{1,}
*零次或多次 ,可以写成{0,}
?零次或一次,可以写成{0,1}

定位符
^必须在开头

^hell  匹配hello、 hell

$必须在结尾

ar$ 匹配car 、 bar

\b开头或结尾

\bbom 匹配bomb  man\b匹配human

\B中间

\Bjava\B 匹配ForjavaEJB

[]范围符可以匹配中文,用ascii码就可以

[\u4E00-\u9FFF] 匹配中文
举报

相关文章推荐

js 正则表达式一看就懂

window.onload=function(){ //RegExp var text='000-00-0000'; var pattern=/\d{3}-\d{2}-\d{3}/; ...

我的Java开发学习之旅------>Java经典面试题

摘自张孝祥itcast 从享受生活的角度上来说:“程序员并不是一种最好的职业,我认为两种人可以做程序员,第一,你不做程序员,你就没有什么工作可做,或者说是即使有可以做的工作但是你非常不愿意去做;第二,你非常痴迷和爱好程序,并且在这方面有一些天赋和优势。程序员的结局也是有两种:第一,默默退休,第二以程序员为起点或跳板,注意积累,跟对了好的老板或团队,找到和很好的搭档自己创业,成为IT金领和富翁。” <span
  • ydbc
  • ydbc
  • 2013-03-07 01:09
  • 264

python 学习笔记 10 -- 正则表达式

本文主要介绍Python中正则表达式的使用,对正则表达式的方法一一举例说明。Hope you would like it !! :)

Ruby On Rails 学习资源

一 :网站及其博客: 1..[url]http://ihower.tw/training/[/url] Ruby on Rails学习网是一个交流学习Ruby on Rails知识的专业网站。 2.[url]http://www.javaeye.com/wiki/rails_weekly[/url] Rails每周一题 3.[url]http://www.5iror.com/[/url] ihower的教程 4.[url]http://railstutorial.org/book[/url] 一个英文教程
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)