Regex 如何匹配除and、or、| |、&;之外的内容&;在perl正则表达式中
比如像这样Regex 如何匹配除and、or、| |、&;之外的内容&;在perl正则表达式中,regex,perl,Regex,Perl,比如像这样 $str = "1 < 4 and 8 > 2 or 4 * 3 or $m =~ /^\d+&\$/"; $str=“12或4*3或$m=~/^\d+&\$/”; 我想捕获 12 4*3 $m=~/^d+&$/ 但是,$str=~/\s+(?和|或&&&&&&\\\\\\\\\){1,}\s+/不起作用,任何修改的帮助要将$str设置为该值,应使用单引号(或转义所有元字符) my$str='12或4*3或$m=~/^\d+&\$/'; my@captur
$str = "1 < 4 and 8 > 2 or 4 * 3 or $m =~ /^\d+&\$/";
$str=“1<4和8>2或4*3或$m=~/^\d+&\$/”;
我想捕获
1<4
8>2
4*3
$m=~/^d+&$/
但是,
$str=~/\s+(?和|或&&&&&&\\\\\\\\\){1,}\s+/代码>不起作用,任何修改的帮助要将$str设置为该值,应使用单引号(或转义所有元字符)
my$str='1<4和8>2或4*3或$m=~/^\d+&\$/';
my@capture=split/\s+(?:and | or |&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;
可以吗\B(和|或|&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&。你是说你想放弃逻辑and/or的意义吗?你考虑过解析器吗?不知道,它是什么意思。你能用其他例子说明吗?regex/^d+&\$/不能被捕获是什么意思?如果字符串包含regex和变量,比如$m、/^\d+$/,它就不起作用了。如果匹配,$m将消失,则打印=~/^\d+$/$m之类的内容不会消失,因为您使用的是双引号,因此它会尝试将变量$m插入字符串中(也不会使用反斜杠)。一旦$str设置为您想要的值,匹配就没有问题了。
my $str = '1 < 4 and 8 > 2 or 4 * 3 or $m =~ /^\d+&\$/';
my @capture = split /\s+(?:and|or|&&|\|\|)\s+/, $str;