perl中匹配并修改字符
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/07 08:32:00
perl中匹配并修改字符
变量$address=“test_xa@test.com=>chenjian04@test.com";
希望得到/^From:.*test_xa\@test\.com/ DISCARD
我原来是这么写的,发现不行:`echo $address|awk -F "=>" '{print \$1}'|sed 's/@/\\@/g'|sed 's/\./\\\./g'|awk '{print "/^From:.*"$0"/ DISCARD"}'`;
求给个方法.
变量$address=“test_xa@test.com=>chenjian04@test.com";
希望得到/^From:.*test_xa\@test\.com/ DISCARD
我原来是这么写的,发现不行:`echo $address|awk -F "=>" '{print \$1}'|sed 's/@/\\@/g'|sed 's/\./\\\./g'|awk '{print "/^From:.*"$0"/ DISCARD"}'`;
求给个方法.
$address = 'test_xa@test.com=>chenjian04@test.com';
if ($address =~ /([^=>]*)=>.*/) {
$match = $1;
$match =~ s/\@/\\\@/g;
$match =~ s/\./\\\./g;
print "/^From:.*$match/ DISCARD\n";
} else {
print "no\n";
}
再问: 解决了,但是有个问题 这部分([^=>]*)的意思是能解释下吗,我看有个这样解释的 —— 字符[]和[^] []意味着匹配一组字符中的一个,如/a[0123456789]c/将匹配a加数字加c的字符串。与+联合使用例:/d[eE]+f/匹配def、dEf、deef、dEdf、dEEEeeeEef等。^表示除其之外的所有字符,如:/d[^deE]f/匹配d加非e字符加f的字符串。 —— 感觉不太清楚
再答: [^=>]*就是匹配非'='且非'>‘的字符,*表示0个或多个,合起来的意思就是匹配0个或多个非=和>的字符。^在中括号里表示非的意思。 本来[=>]的意思是 '=' 或 '>'的意思,在这个基础上取非的话就是非'='且非'>'了
if ($address =~ /([^=>]*)=>.*/) {
$match = $1;
$match =~ s/\@/\\\@/g;
$match =~ s/\./\\\./g;
print "/^From:.*$match/ DISCARD\n";
} else {
print "no\n";
}
再问: 解决了,但是有个问题 这部分([^=>]*)的意思是能解释下吗,我看有个这样解释的 —— 字符[]和[^] []意味着匹配一组字符中的一个,如/a[0123456789]c/将匹配a加数字加c的字符串。与+联合使用例:/d[eE]+f/匹配def、dEf、deef、dEdf、dEEEeeeEef等。^表示除其之外的所有字符,如:/d[^deE]f/匹配d加非e字符加f的字符串。 —— 感觉不太清楚
再答: [^=>]*就是匹配非'='且非'>‘的字符,*表示0个或多个,合起来的意思就是匹配0个或多个非=和>的字符。^在中括号里表示非的意思。 本来[=>]的意思是 '=' 或 '>'的意思,在这个基础上取非的话就是非'='且非'>'了
perl中去除从&到+号的所有字符
perl $@
perl中reverse用法问题
在perl中如下定义是什么意思
perl语言中遇到的情况
perl 中$::的含义及用法
perl $$含义想知道perl中$$表示的是什么意思if ($keyname /DEVICE_SUPPORT/i){$
EXCEL中如何在两个表中使用函数做到多项匹配并返回相应值
短文改错。下面短文中有10处语言错误。请在有错误的地方增加、删除或修改某个单词。增加:在缺词处加一个漏字符号(∧),并在
短文改错。下面短文中有10处语言错误。请在有错误的地方增加、删除或修改某个单词。增加:在缺词处加一个漏字符号(?), 并
写出图像处理中,相关系数匹配测度公式,并给出相关系数计算程序流程图
从键盘输入两个数字字符并分别存放在字符型变量a,b中,通过程序将这两个字符相加后输出,如:输入字符型数字7和5,则输出整