`
weihe6666
  • 浏览: 436173 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

perl-可选修饰符

    博客分类:
  • Perl
阅读更多
perl-可选修饰符


可选修饰符

这些修饰符可有可无,有时候称为开关,放在正则表达式结尾的界定符右边,并改变正则表达式的默认行为。
/i  进行大小无关的匹配
/s  匹配任意字符
/x  加入空白

实例:
1)  /i修饰符可以让你在进行模式匹配时不区分大小写。
#!/perl
use strict;

print "Would you like to play a game?";
chomp($_ = <STDIN>);
if (/YES/i){
	print "You input the string : $_";
}
#end


2)用/s来匹配任意字符,默认情况下(.)号无法匹配换行符,这对大多数单行匹配的情况是符合的,但是如果字符串中有换行符时,用/s就可以完成匹配。

#!/perl
use strict;

my ($var);
$var = "I saw Barney\ndown at the bowling alley\nwith fred\nlast night.\n";
#if ($var_sub =~ /Barney.*fred/s){
if ($var =~ /Barney.*fred/s){
	print "That matching mentions fred Barney.";
}
#end



3) 用/x加入空白
在模式里随意加入空白,使它阅读更容易:
/-? \d+\.?\d*/
/ -?  \ d+ \ .? \ d* /
加入空白后更易于阅读。

附加:
.   Match any character
\w  Match "word" character (alphanumeric plus "_")
\W  Match non-word character
\s  Match whitespace character
\S  Match non-whitespace character
\d  Match digit character
\D  Match non-digit character
\t  Match tab
\n  Match newline
\r  Match return
\f  Match formfeed
\a  Match alarm (bell, beep, etc)
\e  Match escape
\021  Match octal char ( in this case 21 octal)
\xf0  Match hex char ( in this case f0 hexidecimal)


You can follow any character, wildcard, or series of characters and/or wildcard with a repetiton. Here's where you start getting some power:
*      Match 0 or more times
+      Match 1 or more times
?      Match 1 or 0 times
{n}    Match exactly n times
{n,}   Match at least n times
{n,m}  Match at least n but not more than m times

分享到:
评论

相关推荐

    Perl语言入门(第五版-中文版).pdf

    可选修饰符 锚位 绑定操作符=~ 模式串中的内插.. 捕获变量 通用量词 优先级 模式测试程序 习题 第九章用正则表达式处理文本 用s///替换 可选修饰符 split操作符 join函数 列表上下文中的m// 更...

    PERL6学习教程

    - 可选参数与必填参数:允许子程序具有可选参数和必填参数。 - 命名参数:通过关键字传递参数,使调用更清晰。 - 滑动参数:允许传递任意数量的参数给子程序。 - **返回值**:子程序如何返回结果给调用者。 - **...

    《Perl语言程序设计》教学大纲(本科).docx

    可选修饰符;锚位;绑定操作符=〜;捕获变量。了解内容:不同操作符的优先级。 Perl的正那么表达式文本处理掌握内容:用s/〃替换;可选修饰符;split操作符;join函数;列表上下文中的m〃。了解内容:其它常见的正...

    Perl正则表达式讲解

    - `s/pattern/replacement/flags`:用replacement替换所有匹配pattern的部分,flags可选,如g表示全局替换。 7. **模式修饰符** - `i`:忽略大小写。 - `m`:多行模式,`^`和`$`分别匹配每一行的开始和结束。 -...

    PHP正则表达式基本函数 修饰符 元字符和需转义字符说明

    接下来,我们讨论正则表达式的修饰符,这些修饰符可以改变正则表达式的行为: 1. `i`:使匹配不区分大小写。 2. `g`:全局搜索,匹配所有实例,而不是仅第一个。 3. `m`:多行模式,使`^`和`$`匹配每一行的开始和...

    正则表达式经验谈 学习正则表达式的好帮手

    在Perl中,正则表达式通常使用斜杠`/`来包裹,并可附加修饰符。 例如,匹配一个电话号码的正则表达式可以写作: ```perl m/(?#可选的区号)d{3}#区号)?#可选的分隔符[-s.]?#区号后跟分隔符d{3}#主要号码前三位[-s.]#...

    PHP和正则表达式的关系

    - 修饰符:正则表达式可以使用修饰符来改变其行为,如`i`使匹配不区分大小写,`g`使匹配全局而非仅第一次,`m`使`^`和`$`分别匹配每一行的开头和结尾。 - 分组:使用圆括号`()`可以创建捕获组,以便于在替换操作中...

    精通正则表达式_第三版(英文版)

    接下来,书中会讲解更复杂的构造,如分组和反向引用,这些允许你将正则表达式分解为可重复或可选的部分。分组 `( )` 可以捕获子匹配,而`\数字`则可以引用前面的分组。此外,非捕获组 `(?: )` 可用于组合表达式而不...

    PHP正则表达式学习资料

    例如,`/pattern/flags`,其中`pattern`是正则表达式,`flags`是可选的修饰符,如`i`表示不区分大小写,`m`使`^`和`$`分别匹配每一行的开始和结束,`g`全局匹配而非仅匹配第一次。 在实际应用中,PHP正则表达式常常...

    Python正则表达式1

    2. **正则表达式修饰符(可选标志)**: 正则表达式可以使用一些标志来改变其匹配行为。例如: - `re.IGNORECASE`(或写作`re.I`):不区分大小写匹配。 - `re.MULTILINE`(或写作`re.M`):在每个行首行尾也能...

    mastering_regular_expressions

    8. **模式修饰符**:许多正则表达式引擎支持模式修饰符,如i(不区分大小写)、m(多行模式)、g(全局匹配)等,它们可以改变正则表达式的行为。 9. **实际应用**:书中还涵盖了在各种编程语言如Perl、JavaScript...

    (1912制作)阿里巴巴2009南京站笔试题

    - **const修饰符**:const用于限制指针所指向的数据或指针本身的变化。 - 指针操作。 **解答**:合法的操作是p1++; 和p2++;。正确答案是AD。 #### 16. n进制计算 **问题描述**:假设在n进制下,567*456=150216,...

    python regular expressions.pdf 正则表达式

    这些是列表在下面表格中的修饰符。 string:这是要进行搜索以匹配模式开始的字符串。 flags:使用按位或运算符|指定不同的标志。 match函数在成功匹配时返回一个match对象,失败时返回None。我们使用match对象的...

    php代码-在线 php 正则表达式在线测试,php正则测试,在线php正则匹配

    ` 使前一个字符变为可选,重复零次或一次。 - `+` 使前一个字符变为必须,重复一次或多次。 使用PHP的正则表达式时,可以使用模式修饰符如 `i` (忽略大小写),`m` (多行模式),和 `s` (点号匹配所有字符,包括换行)...

    python 正则表达式 详解(英文)

    match()函数尝试将正则表达式模式与字符串匹配,从字符串的开始位置进行匹配,并且可以使用可选的标志参数。该函数的语法如下: re.match(pattern, string, flags=0) 其中,参数的描述如下: - pattern:要匹配的...

    eregi_replace与preg_replace 函数代码的用法比较

    i`:整体模式,包括模式修饰符`i`,表示忽略大小写。 - `(\[url=)`:匹配`[url=`。 - `(http|https|ftp)`:匹配`http`、`https`或`ftp`。 - `(://\S+?)`:匹配协议后的地址。 - `(.+?)`:匹配任意非空字符。 - ...

Global site tag (gtag.js) - Google Analytics