正则表达式 . 格式

/A匹配缓冲区的起始点;

/Z匹配缓冲区的结束点;关于它们的使用,详细参见代码。

/d表示数字,/d{3}表示一个三位数的数字,{}表示约束运算符(bound operator),表示要重复3次;和//d//d//d的效果一样;

重复符+:表示前面的表达式可以重复,但是必须至少重复一次;比如:[a-zA-Z]+,就表示一个单词了——可以有任意多个大小写字母不断重复组成,不就是单词么!

/w:表示单词;这比上面的方式更加简单!这个缩写可以匹配所有的单词字符,不仅仅是ascii的单词字符,因此更适合国际化环境。

一个圆点(.):表示一个任意字符;

可选择的匹配:意味着从两个或者多个子表达式中选择一个匹配的子表达式,每个选择之间用竖线符号(|)进行分隔。比如:

regex reg("(//d{2}|N/A)"),表示2个数字,或者字符串“N/A”。值得注意的是:这个表达式用圆括号括起来,目的是为了确保可以将整个表达式看做两个可选项。

/s,表示一个空格;

后向引用(back reference操作):即在后面的表达式中,对前面的子表达式进行引用。可以用索引号来进行,比如下面的例子:

regex reg("(([a-zA-Z]+))//s//1");

就是表示:一个单词,然后加一个空格,然后再是这个单词。第一个括号里面的部分([a-zA-Z]+),为子表达式。(最后的//1,注意,是索引“一”,而不是字母“L”的小写哦!)

kleene星号(*),它表示前面的表达式可以被匹配零次或者多次。

问号(?),它可以被用于声明非贪婪的重复(关于这方面的讨论,参见Regex代码),但是就它自身而言,它表示表达式必须出现零次或者一次。

元字符(^),表示取反的字符类。我们可以用它来表示一个匹配任意不在给定字符类中的字符,即所列出的字符类的补集,参见代码。

关于约束重复记号,用法非常灵活,比如:

regex reg("//d{5}");    //严格匹配5个数字
regex reg("//d{2,4}");  //匹配2个、3个或者4个数字
regex reg("//d{2,}");   //匹配2个或者更多数字,没有上限

需要注意的是,在编程时,需要在转义字符之前再加一个转义字符(/),并以一个非字母字符结束该序列。也就是说,虽然我们/d就表示一个数字,但是在写的时候,应该写作

regex reg("//d");
时间: 2024-10-08 09:37:18

正则表达式 . 格式的相关文章

find 命令的正则表达式格式

用 emacs 的 etags 生成 TAGS, 要查找 所有的 .h 和 .cpp  试了半天都不成,最后找到 GNU 才明白了 find 用的正则的格式 先附上 GNU 的 find 的参考地址 :  GUN find 的默认正则表达式格式 格式简要说明如下: '+'  '?'  ‘\+' '\?' : 和其它语言的正则表达式一样 [] 内的字符为原生字符,不转义,不支持类型引用,但支持范围,  如 [0-9] 正确, 但不能用   [[:digit:]] 代替:如  [\a]  表示  \

常用的正则表达式格式

背景:正则表达式使用单个字符串来描述.匹配一系列匹配某个句法规则的字符串.通常我们使用正则表达式用作信息的验证.虽然正则表达式非常繁琐,但是它的功能却是非常的强大.学会之后会让我们的项目中除了提高效率外,还会给我们带来绝对的成就感. 什么是正则表达式? 正则表达式是一种描述字符串结构的语法规则,是一个特定的格式化模式,可以匹配,替换,截取匹配的字符串.一个完整的正则表达式由两部分构成,即元字符和文字字符.元字符就是具有特殊含义的字符,比如" * "和" ? ".文字

【C#】身份证号正确性验证及正则表达式格式验证

身份证前两位各省对应的编号是: 1.华北地区:北京市|11,天津市|12,河北省|13,山西省|14,内蒙古自治区|15: 2.东北地区: 辽宁省|21,吉林省|22,黑龙江省|23: 3.华东地区: 上海市|31,江苏省|32,浙江省|33,安徽省|34,福建省|35,江西省|36,山东省|37: 4.华中地区: 河南省|41,湖北省|42,湖南省|43: 5.华南地区:广东省|44,广西壮族自治区|45,海南省|46: 6.西南地区: 四川省|51,贵州省|52,云南省|53,西藏自治区|5

正则表达式格式

正则表达式元字符:       . :匹配任意单个字符       *  :匹配前面字符任意次       ? :匹配前面字符1次或者0次       \{m,n\} :匹配前面的字符至少m次,最多n次位置锚定:       ^  :锚定行首,此字符后面的内容必须出现在行首       $  :锚定行尾,此字符后面的内容必须出现在行尾       ^$ :空白行       \<  :其后面的内容必须作为单词首部出现       \>  : 其后面的内容必须作为单词尾部出现        []

Java正则表达式基本应用

一.概述 正则表达式因为其强大的字符串处理能力,刚开始被被广泛地应用到各种UNIX工具中,如大家熟知的 Perl脚本语言 .后来正则表达式在各种 计算机语言 和各种应用领域得到了广泛的应用和发展,目前的主流操作系统(Linux, Unix.Windows等).目前主流的开发语言( PHP . C# . Java . C++ . VB . Javascript . Ruby 以及 python 等).各种应用软件,都支持正则表达式. 利用正则表达式可以实现强大的字符串处理能力.如字符串的匹配.字符

Java杂谈之正则表达式--日期,邮箱,数字验证

当我们判断数据的格式是否符合规范的时候,一般会采用两种方式: 一种是if...else不断的嵌套或者if...else并排判断的方式 (这两者代表以条件正确为前提还是以条件错误为前提的) 另一种就是正则表示式. 字符串匹配给正则表达式:boolean matches(Stirng regex) 用法:String.matches(regex) 当然可以说if...else是万能的,正则表达式是有局限的,不能过分依赖,它只是解决问 题的一种手段而已,并不是必要的. 但往往用正确的使用正则表达式能让

iOS开发正则表达式的学习

正则表达式笔记 每天的一小步,知道我在不断进步,这就是我每天的小目标. 这是我的第一篇博客,在工作之余,我会努力地留下些许脚印. 我是一名iOS开发者,对于iOS我仅仅只是一个菜鸟,愿意在此处留下我的经验来帮助更多的朋友一起学习,有任何疑问,都欢迎指点和批评. 这是一个正则表达式基础篇,并提供了目前比较常用的一些正则表达式格式. 1.什么是正则表达式 正则表达式提供了一种在指定模式中搜索匹配的模式,这种模式匹配能让你做更有用的事,如验证字段,电话号码,邮箱地址,检查用户输入,执行更高级的文本操作

Python 爬虫4——使用正则表达式筛选内容

之前说过,使用urllib和urllib2,只是为了获取指定URL的html内容,而对内容进行解析和筛选,则需要借助python中的正则表达式来完成. 一.预备知识: 1.正则表达式简述: 什么是正则表达式?正则表达式就是可以匹配文本片段的模式,最简单的正则表达式就是一个字符串,用于在文本中匹配到此字符串自身. 2.常用正则表达式: 设计正则表达式的时候有几个注意点如下: a.特殊符号需要加转移符:如要匹配'china.com',则正则表达式格式应为'china\\.com': b.字符集(使用

奇奇怪怪的正则表达式

在javascript中的正则表达式格式:/^正则表达式$/ 如:regex = /^[a-zA-Z][a-zA-Z0-9]{5,19}$/; 在groovy中正则表达式的格式为:/~正则表达式/ 如:title=/~(.*)?[a-zA-Z0-9]/ 这里是几个主要非英文语系字符范围(google上找到的): 2E80-33FFh:中日韩符号区.收容康熙字典部首.中日韩辅助部首.注音符号.日本假名.韩文音符,中日韩的符号.标点.带圈或带括符文数字.月份,以及日本的假名组合.单位.年号.月份.日