欢迎访问 水平网    今天是:2017年11月22日 注册 | 登录 | 订阅 | 收藏
>> 搜索:正则表达式
推荐文章
热点文章
专题
JQuery框架
Prototype.js
HTML5

grep用法详解 grep与正则表达式

 首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串。vim、grep、awk 、sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大;在以前上班的公司里,由于公司是基于web的服务型网站(nginx),对正则的需求比 较大,所以也花了点时间研究正则,特与大家分享下: 1基础正则表达式 grep 工具,以前介绍过。 grep -[acinv] '搜索内容串' filename -a 以文本文件方式搜索 -c 计算找到的符合行的次数 -i 忽略大小写 -n 顺便输出行号 -v 反向选择,即找 没有搜索字符串的行 其中搜索串可以是正则表达式! 1 搜索有the的行,并...
类别:网页编程 - JavaScript,阅读:685,更新:2016-08-17

正则表达式中贪婪和非贪婪(惰性)匹配的区别与效率问题

什么是贪婪模式匹配? 正则中“贪婪模式匹配”原则是: 当解释器将代码中的字符解析成一个个的 编译器在处理代码时眼中看到的最小语法单元时,编译器会使用一种贪婪匹配算法,也就是说会尽可能让一个单元包含更多的字符。 非贪婪匹配的效率 可能有不少的人和我一样,有过这样的经历:当我们要匹配类似 "<td>内容</td>" 或者 "加粗" 这样的文本时,我们根据正向预搜索功能写出这样的表达式:"<td>([^<]|<(?!/td>))*</td>" 或者 "<td>((?!</td>).)*</td>"。 当发现非贪婪匹配之时,恍然大悟,同样功能的表达式可以写得如此简单:"<t...
类别:网页编程,阅读:575,更新:2014-07-29

正则表达式基础知识

 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。如: JScriptVBScript匹配/^\[ \t]*$/"^\[ \t]*$"匹配一个空白行。/\d{2}-\d{5}/"\d{2}-\d{5}"验证一个ID 号码是否由一个2位数字,一个连字符以及一个5位数字组成。/<(.*)>.*<\/\1>/"<(.*)>.*<\/\1>"匹配一个 HTML 标记。下表是元字符及其在正则表达式上下文中的行为的一个完整列表:字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一...
类别:网页编程,阅读:516,更新:2014-06-28

正则表达式检验是否输入日期时间

<script> function check(str){ var reg = /^(d+)-(d{1,2})-(d{1,2}) (d{1,2}):(d{1,2}):(d{1,2})$/; var r = str.match(reg); if(r==null)return false; r[2]=r[2]-1; var d= new Date(r[1], r[2],r[3], r[4],r[5], r[6]); if(d.getFullYear()!=r[1])return false; if(d.getMonth()!=r[2])return false; if(d.getDate()!=r[3])return false; if(d.getHours()!=r[4])return false; if(d.getMinutes()!=r[5])return false; if(d.getSeconds()!=r[6])return false; return true; } </script> 1.var reg = /^(d+)-(d{1,2})-(d{1,2}) (d{1,2}):(d{1,2}):(d{1,2})$/; 建立正则表达式: d:表示数字,即数字0-9 {1,2}:表示匹配1-2次 2...
类别:网页编程 - JavaScript,阅读:463,更新:2014-06-05

javascript匹配MAC地址的正则表达式

function CheckMac()  {  //mac地址正则表达式  var reg_name=/[A-Fd]{2}:[A-Fd]{2}:[A-Fd]{2}:[A-Fd]{2}:[A-Fd]{2}:[A-Fd]{2}/;  if(!reg_name.test(document.form2.mac.value)){  alert("mac地址格式不正确!mac地址格式为00:24:21:19:BD:E4");  document.form2.mac.focus();  return false;  }  return true;  }...
类别:网页编程 - JavaScript,阅读:630,更新:2014-05-22

通过时间校验学习JavaScript正则表达式

JavaScript作为客户端脚本可以说无处不在,尤其是作为客户端的数据验证尤为重要。而对于数据有效性、合法性的验证,正则表达式起到了举足轻重的作用。现在我们就从时间校验来开始学习正则表达式的用法。   为什么要从时间验证的例子开始我们的正则表达之旅呢?首先,因为时间校验比较常用,尤其是日期的验证几乎是每个注册程序都要进行校验的;另外,日期函数相对来说包含的涉及正则表达式的内容较少,其次字符单一除了数字之外,就是几个很有限的连接连接符号,正则逻辑简单。       预备知识:    1.为JavaScript增加函数:熟悉Java的人都是知道,Java所有的方法都是...
类别:网页编程 - JavaScript,阅读:396,更新:2014-05-21

.NET开发正则表达式中BUG一例

  又发现了一个 .net 的bug!最近在使用正则表达式的时候发现:在忽略大小写的时候,匹配值从 0xff 到 0xffff 之间的所有字符,正则表达式竟然也能匹配两个 ASCII 字符:i(code: 0x69) 和 I(code: 0x49);但是仍然不能匹配其他的 ASCII 字母和数字。  比如以下的代码就是用来测试用正则表达式匹配从 0xff 到 0xffff 的字符。而值范围在 0 到 0xfe 的所有字符是不能被匹配的。    1234567891011121314151617Regex regex = new Regex(@"[/u00FF-/uFFFF]+");&...
类别:网页编程 - ASP.NET,阅读:462,更新:2014-05-20

.NET下正则表达式应用的四个示例

  1.确认有效电子邮件格式   下面的代码示例使用静态 Regex.IsMatch 方法验证一个字符串是否为有效电子邮件格式。如果字符串包含一个有效的电子邮件地址,则 IsValidEmail 方法返回 true,否则返回 false,但不采取其他任何操作。您可以使用 IsValidEmail,在应用程序将地址存储在数据库中或显示在 ASP.NET 页中之前,筛选出包含无效字符的电子邮件地址。  [Visual Basic] Function IsValidEmail(strIn As String) As Boolean ' Return true if strIn is in valid&...
类别:网页编程 - ASP.NET,阅读:306,更新:2014-05-20

.NET正则表达式使用高级技巧之组的概念

  正则表达式中的组是很重要的一个概念,它是我们通向高级正则应用的的桥梁。  组的概念   一个正则表达式匹配结果可以分成多个部分,这就是组(Group)的目的。能够灵活的使用组后,你会发现Regex真是很方便,也很强大。   先举个例子  public static void Main() {  string s = "2005-2-21";  Regex reg = new Regex(@"(?<y>d{4})-(?<m>d{1,2})-(?<d>d{1,2})",RegexOptions.Compiled);  Match match = reg.Match(s);  int year = int.Parse(match.Groups["y"].Va...
类别:网页编程 - ASP.NET,阅读:350,更新:2014-05-20

正则表达式中有哪些特殊字符

字符 意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释。 例如:/b/匹配字符'b',通过在b 前面加一个反斜杠,也就是/b/,则该字符变成特殊字符,表示 匹配一个单词的分界线。 或者: 对于几个字符,通常说明是特殊的,指出紧接着的字符不是特殊的,而应该按字面解释。 例如:*是一个特殊字符,匹配任意个字符(包括0个字符);例如:/a*/意味匹配0个或多个a。 为了匹配字面上的*,在a前面加一个反斜杠;例如:/a*/匹配'a*'。 字符^ 意义:表示匹配的字符必须在最前边。 例如:/^A/不匹配"an A,"中的'A',但匹配"An A."中最前面的'A'。 字符$ 意义:与^类似,匹配最末...
类别:网页编程 - PHP技术,阅读:524,更新:2014-05-19

正则表达式中的特殊字符一览

字符 意义:对于字符,通常表示按字面意义,指出接着的字符为特殊字符,不作解释。 例如:/b/匹配字符'b',通过在b 前面加一个反斜杠,也就是/b/,则该字符变成特殊字符,表示匹配一个单词的分界线。 或者: 对于几个字符,通常说明是特殊的,指出紧接着的字符不是特殊的,而应该按字面解释。 例如:*是一个特殊字符,匹配任意个字符(包括0个字符);例如:/a*/意味匹配0个或多个a。 为了匹配字面上的*,在a前面加一个反斜杠;例如:/a*/匹配'a*'。 字符^ 意义:表示匹配的字符必须在最前边。 例如:/^A/不匹配"an A,"中的'A',但匹配"An A."中最前面的'A'。 字符$ 意义:与^类似,匹配最末的字符。 例如...
类别:网页编程 - PHP技术,阅读:423,更新:2014-05-19

PHP正则表达式清除字符串的空白

我们经常会处理来自用户输入或从数据库中读取的数据,可能在你的字符串中有多余的空白或制表符,回车等。存储这些额外的字符是有点浪费空间的。 如果您想要去掉字符串开始和结束的空白可以使用PHP内部函数trim() 。但是, 我们经常想完全清除空白。需要把开始和结束的空白清除掉,将多个空白变为一个空白,使用一个规则来处理同样的类型的其它空白。 完成这些可以使用PHP的正则表达式来完成 下例可以去除额外Whitespace <?php $str = " This line  containstliberal rn use of   whitespace.nn"; // First remove the leading/trailing whitespace //去掉开始和结束的空白 $str = trim($str); // N...
类别:网页编程 - PHP技术,阅读:395,更新:2014-05-19