05.Perl -- 正则表达式

2022-05-20  本文已影响0人  QXPLUS

语法

$_ = "Hello World, I'm the regression";
if (/"World"/){printf "It matched"};

如果匹配项本身含有斜向,则使用反斜线进行转义

$_ = "the file is in C:/Perl/Target";
if (/"C:\/Perl\/Target"/){printf "the target fold is searched"};

Unicode属性

\p{属性名} 表示包含该属性的模式

  1. 匹配空格、换行符,使用Space属性
$_ = "Hello World, I'm the regression";
if (/\p{Space}/){printf "The string has some whitespace\n"};
  1. 匹配数字,使用Digit属性
$_ = "Hello World, I'm the regression 1";
if (/\p{Digit}/){printf "The string has digit\n"};
  1. 匹配十六进制数字,使用Hex属性

\P{属性名} 表示不包含该属性的部分

模式分组

/(World)\3/: 表示匹配 WorldWorldWorldWorld

/(Hello)(World)\1\2/: 表示匹配 HelloWorldHelloWorldWorld
先对原字符串匹配一次,再进行:\1表示对Hello再匹配1次,\2表示对World再匹配2次

/Hello (|my) World/: 表示,任何包含Hello my World 或者 包含Hello World的字符串。

正则表达式中的元字符

元字符列表

模式匹配

一个例子

$test = "China"
$target = ".*ina"
$test =~m/$target/
# 1
上一篇下一篇

猜你喜欢

热点阅读