`
izuoyan
  • 浏览: 9220750 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

perl 中一些常用的正则匹配

阅读更多

下面是正则表达式中的一些常用模式。

/pattern/ 结果
. 匹配除换行符以外的所有字符
x? 匹配 0 次或一次 x 字符串
x* 匹配 0 次或多次 x 字符串,但匹配可能的最少次数
x+ 匹配 1 次或多次 x 字符串,但匹配可能的最少次数
.* 匹配 0 次或一次的任何字符
.+ 匹配 1 次或多次的任何字符
{m} 匹配刚好是 m 个 的指定字符串
{m,n} 匹配在 m个 以上 n个 以下 的指定字符串
{m,} 匹配 m个 以上 的指定字符串
[] 匹配符合 [] 内的字符
[^] 匹配不符合 [] 内的字符
[0-9] 匹配所有数字字符
[a-z] 匹配所有小写字母字符
[^0-9] 匹配所有非数字字符
[^a-z] 匹配所有非小写字母字符
^ 匹配字符开头的字符
$ 匹配字符结尾的字符
\d 匹配一个数字的字符,和 [0-9] 语法一样
\d+ 匹配多个数字字符串,和 [0-9]+ 语法一样
\D 非数字,其他同 \d
\D+ 非数字,其他同 \d+
\w 英文字母或数字的字符串,和 [a-zA-Z0-9] 语法一样
\w+ 和 [a-zA-Z0-9]+ 语法一样
\W 非英文字母或数字的字符串,和 [^a-zA-Z0-9] 语法一样
\W+ 和 [^a-zA-Z0-9]+ 语法一样
\s 空格,和 [\n\t\r\f] 语法一样
\s+ 和 [\n\t\r\f]+ 一样
\S 非空格,和 [^\n\t\r\f] 语法一样
\S+ 和 [^\n\t\r\f]+ 语法一样
\b 匹配以英文字母,数字为边界的字符串
\B 匹配不以英文字母,数值为边界的字符串
a|b|c 匹配符合a字符 或是b字符 或是c字符 的字符串
abc 匹配含有 abc 的字符串
(pattern) () 这个符号会记住所找寻到的字符串,是一个很实用的语法。第一个 () 内所找到的字符串变成 $1 这个变量或是 \1 变量,第二个 () 内所找到的字符串变成 $2 这个变量或是 \2 变量,以此类推下去。
/pattern/i i 这个参数表示忽略英文大小写,也就是在匹配字符串的时候,不考虑英文的大小写问题。
\ 如果要在 pattern 模式中找寻一个特殊字符,如 "*",则要在这个字符前加上 \ 符号,这样才会让特殊字符失效


下面给出一些例子:

范例 说明
/perl/ 找到含有 perl 的字符串
/^perl/ 找到开头是 perl 的字符串
/perl$/ 找到结尾是 perl 的字符串
/c|g|i/ 找到含有 c 或 g 或 i 的字符串
/cg{2,4}i/ 找到 c 后面跟着 2个到 4个 g ,再跟着 i 的字符串
/cg{2,}i/ 找到 c 后面跟着 2个以上 g ,再跟着 i 的字符串
/cg{2}i/ 找到 c 后面跟着 2个 g,再跟着 i 的字符串
/cg*i/ 找到 c 后面跟着 0个或多个 g ,再跟着 i 的字符串,如同/cg{0,1}i/
/cg+i/ 找到 c 后面跟着一个以上 g,再跟着 i 的字符串,如同/cg{1,}i/
/cg?i/ 找到 c 后面跟着 0个或是 1个 g ,再跟着 i 的字符串,如同/cg{0,1}i/
/c.i/ 找到 c 后面跟着一个任意字符,再跟着 i 的字符串
/c..i/ 找到 c 后面跟着二个任意字符,再跟着 i 的字符串
/[cgi]/ 找到符合有这三个字符任意一个的字符串
/[^cgi]/ 找到没有这三个字符中任意一个的字符串
/\d/ 找寻符合数字的字符,可以使用/\d+/来表示一个或是多个数字组成的字符串
/\D/ 找寻符合不是数字的字符,可以使用/\D+/来表示一个或是更多个非数字组成的字符串
/\*/ 找寻符合 * 这个字符,因为 * 在常规表达式中有它的特殊意思,所以要在这个特殊符号前加上 \ 符号,这样才会让这个特殊字符失效
/abc/i 找寻符合 abc 的字符串而且不考虑这些字符串的大小写

模式修饰符

共六个:

g(全局),i(忽略大小写),m(多行),o(只一次),s(单行),x(多余空格)

分享到:
评论

相关推荐

    正则匹配代码\正则匹配代码

    本篇文章将深入探讨正则匹配的相关知识点。 1. **基本概念** - **元字符**:如 `.`、`^`、`$`、`\d`、`\w`、`\s` 等,它们具有特殊含义,比如 `.` 表示任意字符,`^` 表示行首,`$` 表示行尾,`\d` 代表数字,`\w`...

    随风正则匹配工具

    随风正则匹配工具是一款专为用户设计的高效、便捷的正则表达式测试和调试工具。在IT行业中,正则表达式(Regular Expression)是一种强大的文本处理工具,广泛应用于数据验证、搜索替换、文本提取等多种场景。这款...

    perl 对文本一些常用操作和常用正则表达式

    下面我们将详细介绍Perl中常用的文本处理方法以及一些常用的正则表达式。 #### 一、Perl文本操作 ##### 1. 字符串操作 Perl提供了丰富的字符串操作功能,可以轻松地进行字符串的拼接、替换、查找等工作。 - **字符...

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

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

    易语言源码正则表达式匹配中文.7z

    在易语言中,我们可能需要使用支持多字节编码的正则库,如PCRE(Perl Compatible Regular Expressions)库,以确保能够正确处理中文字符。 以下是一些使用易语言进行正则表达式匹配中文的关键点: 1. **引入正则库...

    perl正则表达式的整理

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

    常用java正则表达式

    以下是一些常用的匹配次数符号: - `?`:表示匹配0次或1次。 - `*`:表示匹配0次或多次。 - `+`:表示匹配1次或多次。 - `{m}`:表示恰好匹配`m`次。 - `{m,n}`:表示至少匹配`m`次,最多匹配`n`次。 例如,要匹配...

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

    以上就是Perl正则表达式,常用函数和变量的一些基础知识。通过熟练掌握这些,你可以更高效地处理文本和数据,实现各种复杂的字符串操作。在实际编程中,不断实践和查阅文档是提升Perl正则表达式技能的关键。

    Perl正则表达式讲解

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

    常用正则表达式搜索

    ### 常用正则表达式搜索 #### 概述 正则表达式(Regular Expression,简称 REGEXP)是用于处理字符串的强大工具,在文本搜索、替换等操作中扮演着核心角色。Perl 作为一种广泛应用于文本处理的语言,其正则表达式...

    perl正则表达式手册

    标题:“perl正则表达式手册”明确指出本手册旨在深入讲解Perl中的正则表达式用法,强调Perl下的正则表达式有其独特之处,与许多其他语言中的正则表达式写法不同。 #### 描述解析与扩展 描述:“知道perl下正则...

    一个可用的boost的正则匹配

    本项目提供了一个“可用的boost的正则匹配”示例,通过`regex.cpp`源代码文件和可能用于测试的`Noname2.txt`文本文件,我们可以深入探讨Boost.Regex库的使用。 Boost.Regex库是Boost库的一部分,它实现了全面的正则...

    perl正则表达式详解

    Perl正则表达式是Perl语言中的强大工具,用于文本匹配、替换和转换。它们具有高度灵活性和表达能力,是处理字符串操作的核心部分。在Perl中,正则表达式主要有三种形式: 1. **匹配(Match)**:使用`m/<regexp>/`...

    Perl语言程序设计:第6章 正则表达式和模式匹配.ppt

    Perl语言中的正则表达式是其强大的文本处理工具之一,它是模式匹配的核心,允许程序员以灵活的方式检查字符串是否符合特定的格式或者包含特定的模式。正则表达式不仅仅是简单的字符串匹配,它是一种强大的语言,可以...

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

    在IT领域,文本处理是日常工作中不可或缺的一部分,而grep、sed、awk和perl这四个工具在处理文本时都广泛地使用了正则表达式。它们各自有着不同的特性和适用场景,理解它们之间的差异有助于我们更高效地进行文本操作...

    Perl 正则表达式速查手册

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

    java常用正则表达式 和 java 正则表达式详解 csdn 下载

    如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一...

    perl正则表达式

    Perl正则表达式是Perl语言中的一个重要特性,它是一种强大的文本匹配工具,广泛应用于数据提取、文本处理和日志分析等场景。虽然正则表达式并非Perl独有,但Perl将其发挥到了极致,使得Perl在处理字符串操作时具有...

    正则表达式--递归匹配与非贪婪匹配

    为了应对这样的挑战,一些高级的正则表达式引擎提供了递归匹配的功能。例如Perl、PHP以及GRETA等语言都支持递归匹配。在这些语言中,可以使用特殊符号`(?R)`来表示递归匹配的部分。 ##### 1.3 递归匹配的实现方式 ...

Global site tag (gtag.js) - Google Analytics