Regex 如何在Perl中的正则表达式中使用chr函数?
我有一个Perl脚本,它有一个字符串,在ASCII字符代码中可能包含字符146,也可能不包含字符146。我感兴趣的是在正则表达式中使用chr()函数来确定该字符串是否真的包含该字符。如果该字符在那里,我想用“'”字符替换它 这可能吗?如果没有,还有什么办法Regex 如何在Perl中的正则表达式中使用chr函数?,regex,perl,chr,Regex,Perl,Chr,我有一个Perl脚本,它有一个字符串,在ASCII字符代码中可能包含字符146,也可能不包含字符146。我感兴趣的是在正则表达式中使用chr()函数来确定该字符串是否真的包含该字符。如果该字符在那里,我想用“'”字符替换它 这可能吗?如果没有,还有什么办法 这一个让我难堪。谢谢 您可以将变量替换为模式: $c = chr(146); $target =~ s/$c/'/go; # "o" means $c won't change so remember it 但通常您会通过将其转换为八进制或
这一个让我难堪。谢谢 您可以将变量替换为模式:
$c = chr(146);
$target =~ s/$c/'/go; # "o" means $c won't change so remember it
但通常您会通过将其转换为八进制或十六进制将其指定为文字:
$target =~ s/\222/'/g; # octal
$target =~ s/\x92/'/g; # hex
这个标题有点误导人。这与在正则表达式中使用chr()无关,而是与在正则表达式中使用特殊字符有关。字符146不是ASCII。ASCII在127处停止。