我的第一个正则表达式

虽然闻名已久,但是,终究是机缘未到,每次都是浅尝辄止,甚至没自己写过一行正则表达式。今天终于写了自己第一个正则表达式,纪念一下:

\s/udisk/[1-9]*

上面这以pattern主要是为了,在某一长串中,找到字符串 " /udkisk/xx",其中xx表示一串数字,对这串数的长度没有要求。

对上面的各个段做一下解释:

1)  "\s",表示一个空白字符,匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。通常作为字符串的开始符。这样的字符,在正则表达式中叫做MetaCharacter,中文翻译做元字符。表示“一个字符”的元字符还有:

  - “\b”,匹配英文中一个单词的开始或结尾,可以是空格、标点符号、换行。但是,事实上,它只是匹配了一个位置,只是用来发现单词的开始或结尾。

  - “.”,可以匹配换行符外的任意字符。

  - “\d”,匹配一个数字。等价于用集合表示的[0-9]。

  - “\w”,匹配一个字母,或数字,或下划线,或汉字。

  - “范围[1-9]”或“集合[fsefsfd]”,事实上这两个对应的英文单词都可以是set,这里表示匹配范围内,或者集合内的某一字符。

2)所以,用上面的元字符把我的第一个正则表达式拆开,就是“\s”+"/udisk/"+"[1-9]*”,所以我们要匹配的串是 “ 空格”+“/udisk/”+“数字”+“数字”+。。。+“数字”。这里的 “*” 是指前一个元字符会出现0次或无限多次。

3)上面的 “*” 叫做限定符,即限定出现次数的。正则表达式中的限定符包括:

  - “*”,出现0次或者无限多次。

  - “+”,出现1次或者无限多次。最少1次。

  - “?”,出现0次或1次。

  - “{n}”,出现n次。

  - “{n,}”, 出现n次或更多次。

  - “{n,m}”,最少出现n次,最多出现m次。

4)我们也可以把一串元字符和限定符(或其他符号)组成的表达式用括号括起来,然后把这一段表达式当做一个元字符对待,这段叫做一个组。比如,(\w+\.){2}\w+ ,表示 “ xxx.xxx.xxx ” ,其中xxx为任意数量个字母。

这只是正则表达式的一部分入门知识,所以。。。还要加油。另外,bash中使用正则表达式的三把利器,也要尝试掌握:grep,sed,awk。

时间: 2024-10-10 17:37:11

我的第一个正则表达式的相关文章

开发:记我的第一个正则表达式

这是我第一次手写正则表达式,以前都是从网上直接Copy能用就好,这几天受到N多因素的影响,决定对不掌握的东西一边开发一边学习,虽然耗时比以前久一些,但是的确感觉很充实,而且学到东西的成就感很好. /^[0-9a-zA-Z\x{4e00}-\x{9fa5}]+$/u 开头的 / 是PHP正则表达式的开头标记,一定要写 ^ =  匹配字符串的开始 [ = 匹配字符类内容开始,] 就是结束 0-9 = 允许0-9字符串 a-z = 允许a-z小写字符串 A-Z = 允许A-Z大写字符串 \x{4e00

JS正则表达式完整教程(略长)

JS正则表达式完整教程(略长) 引言 亲爱的读者朋友,如果你点开了这篇文章,说明你对正则很感兴趣. 想必你也了解正则的重要性,在我看来正则表达式是衡量程序员水平的一个侧面标准. 关于正则表达式的教程,网上也有很多,相信你也看了一些. 与之不同的是,本文的目的是希望所有认真读完的童鞋们,都有实质性的提高. 本文内容共有七章,用JavaScript语言完整地讨论了正则表达式的方方面面. 如果觉得文章某块儿没有说明白清楚,欢迎留言,能力范围之内,老姚必做详细解答. 具体章节如下: 引言 第一章 正则表

PHP正则表达式

处理字符串时,有很多较为复杂的字符串用普通的字符串处理函数无法干净的完成.比如说,可能需要验证一个Email地址是否合法,为此需要查看许多不容易检查的规则.这正是正则表达式的用武之地.正则表达式是功能强大而简明的字符组,其中可以包含大量的逻辑,特别值得一提的是正则表达式相当简短. 一.正则表达式语法(Perl风格) Perl一直被认为是最伟大的解析语言之一,它提供了一种全面的正则表达式,即使是最复杂的字符串模式,也可以用这种正则表达式语言搜索和替换.PHP开发人员认识到,与其重新发明正则表达式,

js正则表达式实例(汇总)

来源:如何用JAVASCRIPT 正则表达式取出字符串最后一组数字,谢谢  如  30CAC0040 取出40  3SFASDF92 取出92  正则如下://d+$/g   统一空格个数  来源:正则匹配空格的问题  字符串内字符键有空格,但是空格的数量可能不一致,通过正则将空格的个数统一变为一个.  例如:蓝色理想  变成:蓝色理想  aobert的正则:  <script>  var str="蓝色理想"  var reg=//s+/g  str = str.repl

js中正则表达式的使用

第一.正则表达式修饰符: 看下列代码,输出的结果是i,因为是多字符匹配,输出的是最后匹配的那个字符,当我们把第二行的最后的g改为i,也就是匹配第一个字符,结果是I,如果m代表的是多行匹配. 以上中的i.g.m即称为正则表达式的修饰符. var str = "I have a friend"; var str2 = /[i]/g; document.write(str.match(str2)); 第二.正则表达式模式: 第三.使用RegExp对象:预定义了属性和方法的正则表达式对象.  

Python正则表达式 学习笔记

python第一个正则表达式 1. import re : python正则表达式模块 2. 第一个正则表达式 re.compile(r'imooc') pattern.match('imooc python') 示例: import re pa = re.compile(r'imooc') #返回一个Pattern类型对象pa ma = pa.match('imooc python') #返回一个match对象ma print ma.group() #获得匹配结果 print ma.span(

JavaScript 中常用的 正则表达式

这编文章我来整理了一些在 javascript 中常用的正则式希望能给大家带来一些开发的灵感 //校验是否全由数字组成 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false return true } 匹配中文字符的正则表达式: [u4e00-u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff]评注:可以用来计算字符串的

第五章 python中正则表达式的使用

第一节    正则表达式的一些介绍 1)掌握正则表达式的案例 2)写一个小爬虫 3)正则表达式(或RE)是一个小型的.高度专业化的编程语言,(在python中)它内嵌在python中,并通过re模块实现. - 可以为想要匹配的相应字符串集指定规则 - 该字符串集可能包含英文语句.e-mail地址.命令或任何你想搞定的东西 - 可以问诸如“这个字符串匹配该模式吗?” - “在这个字符串中是否有部分匹配该模式呢?” - 你也可以使用RE以各种方式来修改或分割字符串. 4)正则表达式模式被编译成一系列

Python学习笔记8:标志库之正则表达式

Python拥有强大的标准库.从现在起,开始学习标准库中提供的一些常用功能. 首先看正则表达式(regular expression),它的主要功能是从字符串(string)中通过特定的模式(pattern),搜索想要找到的内容. 例如:要从一个字符串中找出所有的数字,我们可以这样做: import re str = "int2str" m = re.search("[0-9]",str) print(m.group(0)) 输出:2 re.search()接收两个