正则表达式匹配一个或多个反斜杠和+符号

问题描述

| 我正在写一个正则表达式以匹配一个或多个
\\
一个或多个
+
符号。 这是我到目前为止所拥有的,看起来不正确
/\\\\+\\++/

my $test = \"\\+\";

if( $test =~ /\\\\+\\++/)
{

    print \"yes\";

}
香港专业教育学院尝试此代码,它不起作用     

解决方法

尽管整个字符串应仅由\\&+字符组成,但您可能希望添加锚点,所以您的表达式没问题。
/^\\\\+\\++$/g
您可以在http://refiddle.com/18e上看到一个测试和示例     ,在我看来很好:
perl -Dr -e \'\"\\\\+++\" =~ /\\\\+\\++/\'
Compiling REx \"\\\\+\\++\"
rarest char + at 1
rarest char \\ at 0
Final program:
   1: PLUS (4)
   2:   EXACT <\\\\> (0)
   4: PLUS (7)
   5:   EXACT <+> (0)
   7: END (0)
anchored \"\\\" at 0 floating \"\\+\" at 0..2147483647 (checking floating) plus minlen 2
Omitting $` $& $\' support.

EXECUTING...

Guessing start of match in sv for REx \"\\\\+\\++\" against \"\\+++\"
Found floating substr \"\\+\" at offset 0...
Found anchored substr \"\\\" at offset 0...
Guessed: match at offset 0
Matching REx \"\\\\+\\++\" against \"\\+++\"
   0 <> <\\+++>               |  1:PLUS(4)
                                  EXACT <\\\\> can match 1 times out of 2147483647...
   1 <\\> <+++>               |  4:  PLUS(7)
                                    EXACT <+> can match 3 times out of 2147483647...
   4 <\\+++> <>               |  7:    END(0)
Match successful!
Freeing REx: \"\\\\+\\++\"