Regex Perl正则表达式,它不';行不通
我想写一个这样的正则表达式:(这是我目前拥有的) (Regex Perl正则表达式,它不';行不通,regex,perl,Regex,Perl,我想写一个这样的正则表达式:(这是我目前拥有的) ($line是一个字符串) 在正则表达式中,我可以找到以下内容: 在字符串开头,0个或多个空格后跟$lhs,0个或多个空格后跟字符-或(可以是多次,例如-->),后跟0个或多个空格,后跟$lhs 它显然不起作用,但我怎样才能使它起作用呢 谢谢 我找到了我的答案: $line =~ /^\s*$lhs\s*[->]*\s*$lhs/ 非常感谢Marc B的帮助 *是一个修饰符,因此^*没有意义。“零或多行起始”\s是单个空格,而不是“0或更
$line
是一个字符串)
在正则表达式中,我可以找到以下内容:
在字符串开头,0个或多个空格后跟$lhs
,0个或多个空格后跟字符-
或
(可以是多次,例如-->
),后跟0个或多个空格,后跟$lhs
它显然不起作用,但我怎样才能使它起作用呢
谢谢 我找到了我的答案:
$line =~ /^\s*$lhs\s*[->]*\s*$lhs/
非常感谢Marc B的帮助
*
是一个修饰符,因此^*
没有意义。“零或多行起始”<代码>\s是单个空格,而不是“0或更多”。您需要/^\s*..
哦,好的。。这就是我要写的吗<代码>/^\s*\Q$lhs\s*[->]\s*\Q$lhs/它不会像上一个错误那样给我一个错误,但也不起作用(根据我在原始帖子中的口头描述),这个错误有什么意义?这将从该点开始关闭元字符…因此,如果中间有要转义且不被解释为正则表达式一部分的字符,则使用\Q
和\E
?就像用“\”来表示整个字符串一样吗?@Gambit2007是的,没错。它基本上在每个非\w字符前插入一个反斜杠。
$line =~ /^\s*$lhs\s*[->]*\s*$lhs/