正则表达式:Lookaround &&一些语法

vrb*_*lgi 1 regex perl

我正在研究正则表达式并且与之相撞

  1. 环顾概念

  2. 语法很少.

谷歌搜索后,我认为这是一个寻求帮助的正确论坛.请帮助这个概念.

因为我不善于理解解释.如果我有很多不同的例子可以理解,那将会很棒.

对我来说,改性剂/e,并||在正则表达式新请帮助我了解真正使用.下面是我的Perl脚本.

$INPUT1="WHAT TO SAY";
$INPUT2="SAY HI";
$INPUT3="NOW SAY![BYE]";
$INPUT4="SAYO NARA![BYE]";

$INPUT1=~s/SAY/"XYZ"/e;   # /e What is this modifier is for

$INPUT2=~s/HI/"XYZ"/;

$INPUT3=~s/(?<=\[)(\w+)(?=])/ "123"|| $1 /e; #What is '||' is use for and what its name
$INPUT4=~s/BYE/"123"/e;

print "\n\nINPUT1 = $INPUT1 \n \n ";
print "\n\nINPUT2 = $INPUT2 \n \n ";
print "\n\nINPUT3 = $INPUT3 \n \n ";
print "\n\nINPUT4 = $INPUT4 \n \n ";
Run Code Online (Sandbox Code Playgroud)

Phi*_*ter 6

阅读perlrequickperlretut.

替换运算符的/e修饰符s///将替换视为Perl代码而不是字符串.例如:

$x = "5 10"
$x =~ s/(\d+) (\d+)/$1 + $2/e;
# $x is now 15
Run Code Online (Sandbox Code Playgroud)

它不是用字符串"$ 1 + $ 2"替换$ x,而是评估Perl代码$1 + $2- 其中$ 1 5和$ 2是10- 并将结果放入$ x.

||不是一个正则表达式运算符,这是一个正常的Perl运营商.它是逻辑或运算符:如果左侧是真值(不是0或''),则返回左侧,否则返回右侧.你可以在perlop中查找perl运算符.