`
deepfuture
  • 浏览: 4401850 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80083
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70097
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103410
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:285920
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15018
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67608
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32174
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:46000
社区版块
存档分类
最新评论

神奇的perl-正则表达式(1)

阅读更多

声明:本神奇的Perl系列为刘兴(http://deepfuture.iteye.com/)原创,未经笔者授权,任何人和机构不能转载

第五章 正则表达式

1. PERL正则基础
正则表达式是一种序列或字符模式,负责在搜索和替换文本时对文本内容进行字符串匹配。Perl中的正则表达式由待匹配字符串或模式串或2者混合而成,一般以斜杠(/)作为定界符。
 Perl正则模式串主要有以下几种:
. 匹配单个除换行符以外的字符
a? 匹配 0 次或一次 a 字符(a为任意字符,如:a*、b*、2*等)
a* 匹配 0 次或多次 a 字符(a为任意字符,如:a*、b*、2*等)
a+ 匹配 1 次或多次 a 字符(a为任意字符,如:a+、b+、2+等)
.* 匹配 0 次或一次的任何字符
.+ 匹配 1 次或多次的任何字符
{m} 匹配刚好是 m 个 的指定字符
{m,n} 匹配在 m个 以上 n个 以下 的指定字符
{m,} 匹配 m个 以上 的指定字符

[] 匹配符合 [] 内的字符

[^] 匹配不符合 [] 内的字符

(x|y) 匹配xy

(x) 匹配x模式串

[0-9] 匹配单个数字

[a-z] 匹配单个小写字母

[^0-9] 匹配单个非数字字符

[^a-z] 匹配单个非小写字母字符

^ 匹配字符开头的字符

$ 匹配字符结尾的字符

\d 匹配单个数字的字符,和 [0-9] 语法一样

\d+ 匹配多个数字字符,和 [0-9]+ 语法一样

\D 单个非数字字符

\D+ 匹配多个非数字字符

\w 单个英文字母或数字的字符,

\W 单个非英文字母或数字的字符

\W+ 匹配多个非英文字母或数字字符

\s 空格等同于 [ \n\t\r\f]

\s+ 等同于  [ \n\t\r\f]+ 

\S  单个非空格字符

\S+ 多个非空格字符

 

我们来看几个例子:

/abc/ 匹配所有包括abc的字符串,比如,匹配“123abcxxx”、“abcde”。

/ab(c|d)/ 匹配所有包括abcabd的字符串,比如,匹配“123abcxxx”、“abde88
/abc\d+/ 匹配所有包括abc后接至少一个数字的字符串,比如,匹配“xxabc456”、 “abc678de”。
/^abc\d+/ 匹配所有以abc后接至少一个数字开头的字符串,比如,匹配“abc456”、 “abc678de”,不匹配“xxabc456”、 “xxbc456”。
/^abc\d+$/ 匹配所有以abc开头,至少一个数字结尾,且abc后接至少一个数字的字符串,换句话说,仅匹配符合abc后接至少一个数字,不包括任何其它字符。比如,匹配“abc456”、 “abc1”,不匹配“abc456x”、 “bc456”、“abc”。
/[^0-9]abc\d+/ 匹配所有包括非数字字符后接abc及至少一个数字的字符串,比如,匹配“xyabc456”、 “aabc1”,不匹配“456abc98”、 “bdc456”、“0abc1”。
/^[^0-9]abc\d+/ 匹配所有以非数字字符后接abc及至少一个数字的形式开头的字符串,比如,匹配“aabc456”、 “xabc1you”,不匹配“8abc98ww”、 “bd456”、“0abc1”。

1
0
分享到:
评论

相关推荐

    regex-正则表达式教程.pdf

    Perl 5引擎的正则表达式功能强大且灵活,其他如.NET和JDK的正则库虽然相似,但也有细微差别。 在正则表达式中,有一些字符具有特殊含义,被称为元字符,包括:[ ] \ ^ $ . | ? * + ( )。如果要匹配这些字符本身,就...

    grep、sed、awk、perl等对正则表达式的支持的差别

    1. **grep**:全称“Global Regular Expression Print”,主要用于在文本中查找匹配正则表达式的行。grep支持基本正则表达式(BRE)和扩展正则表达式(ERE),通过不同的标志可以选择。grep的特点是快速、简单,适合...

    PCRE 【Perl兼容正则表达式解析库】

    Perl兼容正则表达式解析库,本资源包是作者制作的静态库,版本为7.8。使用VC6在WinXp下编译通过。使用时请将pcre.h放到VC的include目录下。

    图灵程序设计丛书-正则表达式必知必会.pdf

    11. **正则表达式引擎**:不同的编程语言或工具可能使用不同的正则表达式引擎,如Perl兼容正则表达式(PCRE)、JavaScript的正则表达式等,它们可能存在细微的语法差异。 通过学习《正则表达式必知必会》,读者不仅...

    java/Android 正则表达式详解

    许多语言,包括 Perl、PHP、Python、JavaScript 和 JScript,都支持用正则表达式处理文本。 句点符号 --------- 句点符号“.”是正则表达式中最基本的元字符之一,它匹配所有字符,包括空格、Tab 字符甚至换行符。...

    re --- 正则表达式操作 — Python 3.10.0a4 文档.pdf

    正则表达式是 Python 中的一种强大的文本匹配工具,提供了与 Perl 语言类似的匹配操作。该模块提供了 Unicode 字符串和 8 位字节串两种类型的匹配操作,但它们不能混用。在使用正则表达式时,需要注意 Unicode 字符...

    Oracle数据库正则表达式

    从 Oracle 10g 开始,Oracle 内建了符合 IEEE POSIX (Portable Operating System for Unix)标准的正则表达式,同时也支持 Perl 的正则表达式规则。 正则表达式的组成 ----------------- 正则表达式由一个或多个...

    regex---正则表达式教程.docx

    1. **正则表达式的基本概念** 正则表达式是一种模式描述,用于匹配一系列具有共同特征的文本。例如,"cat"这个正则表达式将匹配任何包含连续的字母"c"、"a"和"t"的字符串。默认情况下,正则表达式是区分大小写的,...

    DEELX 是一个在 C++ 环境下的与 Perl 兼容的正则表达式引擎

    DEELX 将这种功能移植到了C++环境中,使得开发者无需离开他们熟悉的编程语言就能利用Perl正则表达式的强大之处。这包括但不限于以下关键特性: 1. **元字符**:DEELX 支持各种元字符,如 `.` (匹配任何非换行符的...

    Perl正则表达式讲解

    ### Perl正则表达式详解 #### 一、正则表达式的三大原则 正则表达式在Perl中的应用广泛,主要用于模式匹配、文本替换以及字符转换。掌握正则表达式的运用,能够极大地提升文本处理的效率和灵活性。以下是正则...

    java正则表达式.zip

    Java正则表达式遵循Perl5的语法,包括元字符(如`.`, `^`, `$`, `*`, `+`, `?`, `{}`, `[]`, `\`, `|`, `(`, `)`)、预定义字符类(如`\d`, `\w`, `\s`)以及量词(如`*`, `+`, `?`, `{n}`, `{n,}`, `{n,m}`)等。 *...

    C语言正则表达式库

    1. **语法兼容性**:如描述所述,PCRE库的正则表达式语法与Perl语言高度兼容,这意味着开发者可以利用Perl中广泛使用的正则表达式语法,如贪婪和非贪婪量词、分支选择、反向引用等。 2. **Unicode支持**:PCRE库...

    Perl正则表达式,常用函数和变量

    一、Perl正则表达式基础 Perl的正则表达式由一系列字符和元字符组成,它们共同构成一个模式,用于在字符串中查找匹配的模式。例如,`\d`代表数字,`.`代表任何字符,`*`表示前一个字符可以出现零次或多次。`^`表示...

    正则表达式30分钟入门教程-附常用表达式.zip

    计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的...例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。

    精通正则表达式(第三版)简体中文版

    - **Perl兼容正则表达式(PCRE)**:Perl语言的正则表达式实现,被广泛应用于PHP、Python等多种编程语言中。 - **Java中的正则表达式**:Java提供了java.util.regex包来支持正则表达式的使用。 - **JavaScript中的正则...

    Perl 正则表达式速查手册

    Perl正则表达式是用于文本处理的强大工具,被广泛应用于各种脚本编程任务中,包括数据验证、字符串替换、模式匹配等。本文档旨在为用户提供一个快速查阅Perl正则表达式的指南,包含了基本的特殊字符、元字符、锚点、...

    perl正则表达式的整理

    Perl正则表达式是Perl语言中的一个重要组成部分,用于文本匹配、搜索和替换操作。它们是强大的工具,能够处理复杂的字符串模式。以下是对Perl正则表达式的一些关键知识点的详细解释: 1. **基本匹配**: - `\d`:...

    精通正则表达式(第3版)(含awz3 mobi epub)

    本书自第1 版开始着力于教会读者“以正则表达式来思考”,来让读者真正“精通”正则表达式。该版对PHP的相关内容、Java1.5和Java1.6的新特性作了可观的扩充讲解。任何有机会使用正则表达式的读者都会从中获益匪浅。

Global site tag (gtag.js) - Google Analytics