学好正则表达式两个最重要的规则

     正则表达式这个话题实在太大了,但它确实也太重要了,如果作为一个专业的程序员不能很好的掌握它,那么我们就不能算一个合格的程序员。也许你可以随便找一个程序员问他,你会正则表达式吗?你懂正则表达式吗?你用过正则表达式吗?我们得到的回答绝大多数回事肯定的,但是如果你问他你知道正则表达式是怎么运行的嘛?正则表达式在不同的编程语言中有什么不同呢?我敢肯定没有几个人能够正确的回答出来。因此我们不能只限于表面的会用,我们要理解正则表达式的运行原理,由于这篇文章不是讲基础的,因此我们有关正则表达式的一些基础的东西,这里不再提及。我是使用JavaScript语言为例来举例的。

    我们首先来看看正则表达式中两个最基本的原则:

规则一:优先选择最左端的匹配结果

我们来看看一个小例子:

var str='The dragging belly indicates your cat is too fat';
var rel=/(fat|cat|belly|your)/;
rel.test(str);
alert(RegExp.$1); 

规则二:标准量词是匹配优先的

要理解这个规则我们也来看一个典型的例子:

var str='copyright 2003.';
var rel=/.*([0-9]+)/;
rel.test(str);
alert(RegExp.$1); 

 

 

 

时间: 2024-10-28 14:03:54

学好正则表达式两个最重要的规则的相关文章

正则表达式在Rational Function Test常用规则概述

正则表达式是一种由普通的字符及特殊字符组成的文字模式,用以描述在查找文字主体时待匹配的一个或多个字符串.虽然正则表达式是一个很庞杂的体系,但在自动化脚本中只要引用一些简单的语法,就可以在控件识别时起到事半功倍的效果.在http://www.aliyun.com/zixun/aggregation/18863.html">自动化测试过程中使用正则表达式可以减少开发的费用,并且有助于维护自动化脚本.这篇文章首先总结了正则表达式常用规则及实例:接着分析了 RFT 中两种正则表达式类 Regula

两个女人的潜规则

如果知道斗垮小思最终会砸了自己的饭碗,陆娜娜还会不会出这个昏招?或许,在利益的驱动下,在欲望的蒙蔽下,这样的选择才是最理所当然的.不然,人们怎么会说"利令智昏"呢? □文/宋麦文 出名要趁早 在爱购网上,有个著名的排行榜.上榜的都是确立了江湖地位的名店.陆娜娜的女装店一直在这个榜上傲视群雄.话说爱购网刚上线,陆娜娜就成了第一批吃螃蟹的人.陆娜娜有门路,出货量大,不时可以买断一批货,这就形成了她的"杀手锏"--独款.陆娜娜靠着独款优势形成良性循环,加上电子商务刚起步,

正则表达式(regex)入门、元字符(特殊字符)学习与提高_正则表达式

什么是正则表达式呢?正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),它是计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.几乎在各种计算机编程语言中都有用到.可以分为普通正则表达式.扩展正则表达式.高级正则表达式.普通正则表达式在linux shell中常用到,高级正则表达式语法规范,基本由perl演化而来.目前常见程序语言(php,perl,python,java,c#

正则表达式(regex)入门、元字符(特殊字符)学习与提高

什么是正则表达式呢? 正则表达式,又称正规表示法.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),它是计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.几乎在各种计算机编程语言中都有用到.可以分为普通正则表达式.扩展正则表达式.高级正则表达式.普通正则表达式在linux shell中常用到,高级正则表达式语法规范,基本由perl演化而来.目前常见程序语言(php,perl,python,java,c

正则表达式怎么拆分字符串?

问题描述 正则表达式怎么拆分字符串? 如下示例2种字符串要拆分正则表达式要怎么写:1)3*1800*10000 怎么拆分成3,1800,10000 . 其中*可能是其他字符,同时最好还能检查*分隔的都是0-9之间的数字,第一个必须在2-100之间,第二个必须在1500-10000之间,第三个必须在6000-20000之间.2)D180*80 怎么拆分成D18080 .其中*可能是其他字符,同时最好还能检查第一个必须是D,第二个必须在10-100之间,第三个必须在6-1000之间. 解决方案 拆分

MySql正则表达式的描述

mysql|正则 正则表达式(regex)是定义复杂查询的一个强有力的工具. 这里是一个简单的资料,它忽略了一些详细的信息. 正则表达式定义了一个字符串的规则.最简单的正则表达式不包含任何保留字.例如,正则表达式hello只和字符串"hello"匹配. 一般的正则表达式使用了某些特殊的结构,所以它能匹配更多的字符串.例如,正则表达式hello|word既能匹配字符串"hello"也能匹配字符串"word".举一个更复杂一点的例子,正则表达式B[a

详解js正则表达式语法介绍

本文介绍了js正则表达式,具体如下: 1. 正则表达式规则 1.1 普通字符 字母.数字.汉字.下划线.以及后边章节中没有特殊定义的标点符号,都是"普通字符".表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符. 举例1:表达式 "c",在匹配字符串 "abcde" 时,匹配结果是:成功:匹配到的内容是:"c":匹配到的位置是:开始于2,结束于3.(注:下标从0开始还是从1开始,因当前编程语言的不同而可能不同)

Java基础-14总结正则表达式,Pattern,Mactcher,Math,BigInteger,BigDeximal,System等

你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新,欢迎阅读 学习交流请加Java帮帮交流QQ群553841695 分享是一种美德,分享更快乐! 学正则表达式之前qq号问题: package cn.itcast_01; import java.util.Scanner; /*  * 校验qq号码.  *  1:要求必须是5-15位数字  *  2:0不能开头

告别乱码,针对GBK、UTF-8两种编码的智能URL解码器的java实现(转)

效果图     字符 字符是早于计算机而存在,从人类有文明那时起,人们就用一个个符号代表世间万象.如ABC,如"一.二.三". 字符集 字符集是所有字符的集合.   XXX字符集 给字符集中的每一个字符套上一个序号后的字符集.常见的XXX字符集有ASCLL字符集.Unicode字符集等等,不同种字符集为每个字符编的序号不同,包含的字符数量也不同. GBK.UTF-8 GBK.UTF-8是一种编码编码格式.当然,你也可以说unicode是一种编码格式,因为它的的确确为每个字符编了一个码,