正则表达式——基础知识

正则表达式用于对字符串进行匹配。

一:匹配模式文本:

正则表达式的匹配模式文本常包括以下内容:

元字符:拥有特殊含义的字符;

元字符  说明
 .  匹配除换行符以外的任意字符
 \w  匹配字母、数字;C#中还支持汉字;等价于[a-zA-Z0-9]
\W   与上相反,匹配非数字字母;等价于[^a-zA-Z0-9]
\s   匹配空白字符
\S   与上相反,匹配非空白字符
\d   匹配数字 
\D   与上相反,匹配非数字 
\b   匹配单词开始或者结束的位置
\B   与上相反,匹配非单词开始或者结束的位置
^  匹配字符串开始的位置
 匹配字符串结束的位置 

表示重复次数的:

类别 说明
 ?  表示左边的部分重复0次或者1次
 表示左边的部分重复0次或者多次
+  表示左边的部分重复1次或者多次
{min, max}  表示左边的部分重复min次到max次
{min, }  表示左边的部分重复最少min次
{num}  表示左边的部分重复num次

表示分组的:

类别 语法 说明
捕获 (abc) 匹配abc,并捕获文本到自动命名的组里;或者表示重复次数适用哪些模式文本,
(?<name>abc) 匹配exp,并捕获文本到名称为 name 的组里,也可以写成(?’name’exp)
(?:abc) 匹配exp,不给分组分配组号,也不捕获匹配文本;但不影响分组0
     
断言 (?=abc) 匹配abc前面的,但是不匹配abc,即文本后面必须有abc,但分组0不会获得abc。
(?<abc) 匹配abc后面的,但是不匹配abc,即文本前面必须有abc,但分组0不会获得abc。
(?!abc) 匹配文本后面不是abc的,但不匹配abc,分组0不会获得abc。
(?<! abc) 匹配文本前面不是abc的,但不匹配abc,分组0不会获得abc。
     
注释 (?#comment) 注释
     

其他:

类别 说明
[abc] 匹配括号中的abc中的任意一个(必须要匹配一个字符)
[^abc] 匹配除括号中字符以外的一个字符(必须要匹配一个字符)
| 表示 或;匹配 | 前面的模式 或 后面的模式
\char 匹配特殊字符,如\*匹配*;\?匹配?
   
\num 反向引用 表示第num个捕获型括号捕获的文本(括号计数是按照左括号出现的顺序算的,注意嵌套括号)

时间: 2024-10-16 20:53:09

正则表达式——基础知识的相关文章

javascript之正则表达式基础知识小结

javascript之正则表达式基础知识小结,对于学习正则表达式的朋友是个不错的基础入门资料. 元字符 ^ $ . * + ? = ! : | \ / ( ) [ ] { } 在使用这些符号时需要用“\”来进行转移. 如果记不清楚那些标点符号需要转移,可以在使用标点符号时都使用反斜杠“\” 简单匹配 1.直接量 /javascript/ 匹配带有“javascript”的字符串 比如“javascript is an object-oriented scripting language” 2.[

转:正则表达式基础知识

一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式.该模式描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配.如: JScript VBScript 匹配 /^\[ \t]*$/ "^\[ \t]*$" 匹配一个空白行. /\d{2}-\d{5}/ "\d{2}-\d{5}" 验证一个ID 号码是否由一个2位数字,一个连字符以及一个5位数字组成. /<(.*)&

正则表达式基础知识(一)

之前在linux中用到三剑客grep.awk.sed等,简单的接触过正则表达式,但是没有深入的了解正则表达式,又一次在python里面接触到正则表达式,所以想着尽量一次攻克正则表达式,所以就将自己学习印记留在此处,供自己复习,同时也将相关知识分享给大家. 分享几个在线测试与学习正则的地址: (1)http://deerchao.net/tutorials/regex/regex.htm  正则表达式30分钟入门 (2)http://tool.oschina.net/regex/ 在线测试以及有部

java正则表达式基础知识(转)

1基础 2.1 简单字符类 构造 描述 [abc] a,b或c [^abc] 除a,b或c外的字符 [a-zA-Z] a至z 或 A至Z [a-d[m-p]] a至d 或 m至p [a-z&&[def]] d,e或f @Test public void testChar() { //匹配 b,c或d assertTrue("d".matches("[bcd]")); //匹配除 a,b,c 以外的字符 (否定) assertTrue("d&

Scala学习笔记--正则表达式基础知识、如何在scala内使用

正则表达式语法:https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx 基础知识:正则表达式30分钟入门教程 http://www.jb51.net/tools/zhengze.html  版本:v2.33 (2013-1-10) 作者:deerchao 转载请注明来源 使用格式:  见java API  http://docs.oracle.com/javase/7/docs/api/ java : java.util.reg

[正则表达式]基础知识总结

一直只是知道正则表达式的用途,但具体没使用过,今天稍微了解了下它的基础用法.这里总结一下. 命令空间:System.Text.RegularExpressions 用途: 对字符串进行查找和替换: 识别重复的单词: 转换格式: 区分一个字符串的各个子元素,并进行提取. RegEx类: 是对正则表达式引擎的类抽象,通过调用该抽象类的不同方法,实现对正则表达式的处理. 该类的主要方法如下所示,具体用途相信通过方法名即可知道: 了解完Regex类的主要方法后,还需要关注三个比较重要的类和它们的层次,分

正则表达式基础知识及常用表单验证正则(使用时查找为主,需多加基础方法的例子)

一.需要转义的特殊符号,也就是需要在前面添加\:!$ * + = | . ?  \  / [] {}  ^ () 二.正则表达式基本形式及方法:A:re =new RegExp(“a”,“i”);  //new出来的匹配方式B:   re=/a/i ;                            //直接量(更常用) pattern.exec(str)     //返回数组pattern.test(str)       //返回布尔值pattern.toSource(str)    

正则表达式基础知识01

使用元字符 匹配数字: \d [0-9] \D [^0-9] 匹配字母数字 \w [0-9a-zA-Z_] 注意:包括下划线 \W [^0-9a-zA-Z_] 匹配空白字符 \s 任何空白字符[\f\n\r\t\v] \S 任何非空白字符[^\f\n\r\v] [\b] 匹配退格符是一个特例 匹配十六进制是使用\x前缀加数字  \x0A 匹配\n 八进制使用\0前缀加数字 例子: ?  匹配邮箱:[\w\.]+@[\w\.]+\.\w+    但不是最好的,不完整 ?  邮箱第一字母必须是字母或

正则表达式基础知识02

回溯引用:前后一致匹配 回溯引用(backreference)在文本匹配和文本替换操作里非常有用. 例子1:匹配HTML中任意一级的标题栏中的内容例如:<h1>nihao</h1> 模式1:<[hH][1-6]>.*?</[hH][1-6]>  [注意这里使用懒惰型的*] 但是这里模式不是正确的:例如:<H2>abcd</H3> 显示不是正确的 模式2:<[hH]([1-6])>.*?</[hH]\1>   正

正则表达式基础知识

1.1 句点符号 假设你在玩英文拼字游戏,想要找出三个字母的单词,而且这些单词必须以"t"字母开头,以"n"字母结束.另外,假设有一本英文字典,你可以用正则表达式搜索它的全部内容.要构造出这个正则表达式,你可以使用一个通配符--句点符号".".这样,完整的表达式就是"t.n",它匹配"tan"."ten"."tin"和"ton",还匹配"