regex
文章平均质量分 65
MikanMu
码农
展开
-
正则表达式学习(一)前言
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来:(1)检查一个串中是否含有符合某个规则的子串(即我们在开发中用到的正则表达式验证功能),并且可以得到这个子串;(2)根据匹配规则对字符串进行灵活的替换操作。正则表达式的“祖先”可以一直上溯至对人类神经系统如何工作的早期研究。Warren McCulloch 和 Walter Pitts 这两位神经生理学原创 2012-07-20 17:58:39 · 1809 阅读 · 0 评论 -
正则表达式:java中匹配HTML中a标签中的中文字符
今天群里一位朋友问到了一个正则表达式的问题,有如下内容:特432453543a1特123你好123吗?特2标签中的文字现在要匹配出内容包含中文但标签的属性中不包含comment的标签中的汉字。解决思路如下:1、首先匹配出不包括comment的标签;2、在匹配结果中进行二次匹配出中文;代码如下:package com.mmq.regex;impor原创 2012-07-24 17:13:46 · 12974 阅读 · 7 评论 -
验证IPV4正则表达式
IPV4地址由4个组数字组成,每组数字之间以.分隔,每组数字的取值范围是0-255。IPV4必须满足以下四条规则:1、任何一个1位或2位数字,即0-99;2、任何一个以1开头的3位数字,即100-199;3、任何一个以2开头、第2位数字是0-4之间的3位数字,即200-249;4、任何一个以25开头,第3位数字在0-5之间的3位数字,即250-255。 这样把规则全部罗原创 2012-08-26 14:33:14 · 23869 阅读 · 7 评论 -
正则表达式学习(九)子表达的使用
PS:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间,有的例子会使用java来实现,如果是java本身正则表达式的用法,会在相应的地方说明。所有java例子都在JDK1.6.0_13下测试通过。 一、问题引入 首先来看一个例子,有的短语如Windows 2000虽然是多个单词组成,但其实是一个整体,HTML页面中可以使用非换行空格( 即non-breaking原创 2012-08-26 13:35:27 · 10856 阅读 · 0 评论 -
Java正则表达式教程
Java正则表达式教程 [1]Regular Expressions of Java Tutorial译者序 正则表达式善于处理文本,对匹配、搜索和替换等操作都有意想不到的作用。正因如此,正则表达式现在是作为程序员七种基本技能之一*,因此学习和使用它在工作中都能达到很高的效率。 正则表达式应用于程序设计语言中,首次是出现在 Perl 语言,这也让 Perl 奠定了正则表达式旗手转载 2012-09-01 20:58:48 · 1754 阅读 · 0 评论 -
正则表达式学习(十一)前后查找lookaround
PS:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间,有的例子会使用java来实现,如果是java本身正则表达式的用法,会在相应的地方说明。所有java例子都在JDK1.6.0_13下测试通过。 一、问题引入 在HTML页面中,匹配出一对标签之间的文本,如匹配出页面的标签,即与之间的文本:文本:welcome to my page正则表达式:.*?原创 2012-09-01 17:37:44 · 3576 阅读 · 0 评论 -
正则表达式学习(十)回溯引用backreference
PS:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间,有的例子会使用java来实现,如果是java本身正则表达式的用法,会在相应的地方说明。所有java例子都在JDK1.6.0_13下测试通过。 一、问题引入 一个在HTML页面中匹配标题标签(H1—H6)的问题:文本:Welcome to my pageContent is divided i原创 2012-09-01 15:07:16 · 5943 阅读 · 0 评论 -
正则表达式学习(八)位置匹配
PS:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间,有的例子会使用java来实现,如果是java本身正则表达式的用法,会在相应的地方说明。所有java例子都在JDK1.6.0_13下测试通过。 一、问题引入 如果想匹配一段文本中的某个单词(暂不考虑多行模式,将在后面介绍),我们可能会像下面这样:文本:Yesterday is history, tomor原创 2012-08-19 19:45:45 · 6941 阅读 · 0 评论 -
正则表达式学习(三)正则表达式各种操作符的运算优先级
正则表达式各种操作符的运算优先级:相同优先级的从左到右进行运算,不同优先级的运算先高后低。各种操作符的优先级从高到低如下: \ 转义符(),[] 子表达式和字符集合*, +, ?, {n}, {n,}, {n,m} 限定符^, $, \x 位置和顺序,x表示一个元字符| “或”操作原创 2012-07-28 17:08:22 · 1952 阅读 · 0 评论 -
正则表达式学习(四)匹配单个字符
PS:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间,有的例子会使用java来实现,如果是java本身正则表达式的用法,会在相应的地方说明。所有java例子都在JDK1.6.0_13下测试通过。java测试代码:/** * 根据正则表达式和要匹配的源文本,输出匹配结果 * @param regex 正则表达式 * @param sourceText 要匹配的源文本 *原创 2012-07-28 19:39:00 · 6876 阅读 · 0 评论 -
正则表达式学习(二)正则表达式的操作符及说明
一、 普通字符包括所有未显式指定为元字符的打印和非打印字符组成,如大小写字母、数字、标点符号等。 二、元字符 元字符是一些在正则表达式里有着特殊含义的字符。因为元字符在正则表达式里有着特殊的含义,所以这些字符不能用来代表它们本身,必须通过给它加个反斜杠前缀来转义,如此得到的转义序列将匹配那个字符本身而不是它特殊的元字符含义。如[表示一个字符集合的开始,如果在正则表达式中原创 2012-07-28 16:56:54 · 2559 阅读 · 0 评论 -
正则表达式学习(七)重复匹配
PS:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间,有的例子会使用java来实现,如果是java本身正则表达式的用法,会在相应的地方说明。所有java例子都在JDK1.6.0_13下测试通过。 一、有多少个匹配 前面几篇讲的都是匹配一个字符,但是一个字符或字符集合要匹配多次,应该怎么做呢?比如要匹配一个电子邮件地址,用之前说到的方法,可能有人会写出像\w@\原创 2012-08-12 22:19:07 · 50829 阅读 · 0 评论 -
正则表达式学习(六)元字符的使用
PS:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间,有的例子会使用java来实现,如果是java本身正则表达式的用法,会在相应的地方说明。所有java例子都在JDK1.6.0_13下测试通过。 一、对特殊字符进行转义 元字符是一些在正则表达式里有着特殊含义的字符。因为元字符在正则表达式里有着特殊的含义,所以这些字符就无法用来代表它们本身。在元字符前面加上一个原创 2012-08-12 14:15:26 · 4727 阅读 · 0 评论 -
正则表达式学习(五)匹配一组字符
PS:在所有例子中正则表达式匹配结果包含在源文本中的【和】之间,有的例子会使用java来实现,如果是java本身正则表达式的用法,会在相应的地方说明。所有java例子都在JDK1.6.0_13下测试通过。 一、匹配多个字符中的某一个 在上一篇中的一个匹配以na或sa开头的文本文件例子中,使用的正则表达式是.a.\.txt。如果还有一个文件是cal.txt,那么也将会被匹原创 2012-08-05 12:13:37 · 4401 阅读 · 0 评论 -
java正则表达式获取指定HTML标签的指定属性值
有时可能会有这样的需求,从HTML页面获取指定标签的指定属性值,可以通过第三方库解析来获取,但是这样相对比较麻烦!如果使用正则表达式,那么就变得简单了。代码如下:package com.mmq.regex;import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import j原创 2012-11-20 23:03:38 · 28460 阅读 · 20 评论