正則表達式小结

经常使用元字符

代码 说明
. 匹配除换行符以外的随意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配随意的空白符
\d 匹配数字
\b 匹配单词的開始或结束
^ 匹配字符串的開始
$ 匹配字符串的结束

经常使用限定符

代码/语法 说明
* 反复零次或很多其它次
+ 反复一次或很多其它次
? 反复零次或一次
{n} 反复n次
{n,} 反复n次或很多其它次
{n,m} 反复n到m次

经常使用反义词

代码/语法 说明
\W 匹配随意不是字母,数字。下划线,汉字的字符
\S 匹配随意不是空白符的字符
\D 匹配随意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的随意字符
[^aeiou] 匹配除了aeiou这几个字母以外的随意字符

对当中的 经常使用限定符做一些解释。

* 反复零次或多次。准确的讲应该是“零次或多次匹配前面的字符或子表达式”。比如,zo* 匹配“z”和“zoo”。

* 等效于 {0,}。

为什么会匹配"z",由于会匹配去掉前一个字符的子表达式。即“z” ,假设是zmmo*,那么会匹配zmm和zmmo两个表达式,且反复零次到多次。

+ 一次或多次匹配前面的字符或子表达式。比如,“zo+”与“zo”和“zoo”匹配。但与“z”不匹配。+ 等效于 {1,}。

? 零次或一次匹配前面的字符或子表达式。比如,“do(es)?”匹配“do”或“does”中的“do”。?

等效于 {0,1}。

? 当此字符紧随不论什么其它限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是“非贪心的”。“非贪心的”模式匹配搜索到的、尽可能短的字符串。而默认的“贪心的”模式匹配搜索到的、尽可能长的字符串。比如,在字符串“oooo”中,“o+?

”仅仅匹配单个“o”。而“o+”匹配全部“o”。

还有须要注意的是“\”,将下一字符标记为特殊字符、文本、反向引用或八进制转义符。比如,“n”匹配字符“n”。“\n”匹配换行符。序列“\\”匹配“\”。“\(”匹配“(”。

时间: 2024-10-12 12:50:03

正則表達式小结的相关文章

Python正則表達式小结(1)

学习一段python正則表達式了, 对match.search.findall.finditer等函数作一小结  以下以一段网页为例,用python正則表達式作一个范例: strHtml = '''<div> <a href="/user/student/" class="user-t"><img src="/uploads/avatar/2015/06/082e408c-14fc-11e5-a98d-00163e02100b

JavaScript正則表達式知识汇总

Js 正則表達式知识汇总 正則表達式: 1.什么是RegExp?RegExp是正則表達式的缩写.RegExp 对象用于规定在文本中检索的内容. 2.定义RegExp:var +变量名=new RegExp(); 3.RegExp 对象有 3 个方法: 1)test()检索字符串中的指定值,返回值是true或false. var p1=new Reg("e"); document.write(Reg.test("welcome to China!")); 2)exec

js正則表達式语法

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

正則表達式基本使用方法简单介绍

正則表達式非常实用, 有些书专门用整本书来讲这个, 可见其博大精深. 有人的地方就有江湖. 有字符串的地方就有正則表達式.所谓的正則表達式, 只是是一种模式/形式罢了. 说白了, 就是一个字符串形式. 没那么玄乎其玄. 我们之前介绍过的grep, sed和awk是一种文本/字符串处理工具. 而正則表達式却不同. 它仅仅是一种字符串形式. 我们能够用grep, sed和awk对正則表達式进行处理. 为了方便集中介绍正則表達式, 我们用最简单的grep来做处理工具. 正則表達式也不同于通配符. 虽然

javascript中的正則表達式

对文本数据进行操作是JavaScript中常见的任务.正則表達式通过同意程序猿指定字符串匹配的模式来简化诸如验证表单中输入是否具有正确格式之类的任务. 1.正則表達式标记: 字符 含义 举例 i 大写和小写不敏感 对于模式/http/i  "http" 和"HttP" 一样能够匹配 g 全局匹配.找出所有匹配字符串,而不不过找到第一个就返回. 经常使用于替换 m 多行匹配 2.正則表達式位置指示符:规定模式在它所匹配的字符串里的位置. 字符 含义 举例 ^ 开头 对

经验之谈—正則表達式实现图文混排

在项目中,我们常常须要发表情,以及常常须要将表情字符转换成表情.由于表情是一个图片.所以我们发给server的时候,实际上是发一段特殊的文字给server,然后转换成表情.以免浪费用户过多的流量. 那接下来.我们就来介绍一下,怎样使用正則表達式实现图文混排呢? 为了以后的代码的管理方便,我们抽取出两个类: NSString+Regular.h中.我们暴露两个方法出来: /** * 返回正則表達式匹配的第一个结果 * * @param pattern 正則表達式 * * @return 匹配的第一

JAVA学习第六十五课 — 正則表達式

正則表達式:主要应用于操作字符串.通过一些特定的符号来体现 举例: QQ号的校验 6~9位.0不得开头.必须是数字 String类中有matches方法 matches(String regex) 告知此字符串是否匹配给定的正則表達式. regex,就是给定的正則表達式 public static void checkQQ() { //第一位是数字1-9,第二位以后是0-9,除去第一位数剩下数字位数范围是5到8位 String regex = "[1-9][0-9]{5,8}";//正

HDU-1039-Easier Done Than Said?(Java &amp;amp;&amp;amp; 没用正則表達式是我的遗憾.....)

Easier Done Than Said? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 9845    Accepted Submission(s): 4784 Problem Description Password security is a tricky thing. Users prefer simple password

正則表達式

一.概述 正則表達式是一种能够用于模式匹配和替换的强有力的工具.其作用例如以下: (1)測试字符串的某个模式.比如,能够对一个输入字符串进行測试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证. (2)替换文本.能够在文档中使用一个正則表達式来标识特定文字,然后能够所有将其删除,或者替换为别的文字: (3)依据模式匹配从字符串中提取一个子字符串. 能够用来在文本或输入字段中查找特定文字. 二.匹配字符 字符 解释说明 \ 将下一字符标记为特殊字符.文本.反向引用或