反斜杠在这个正则表达式中意味着什么:if(!/ ^\s*Production\/ Injection Rates /);

1 regex perl

我不明白这个正则表达式中的/是什么意思?

push(@hds,$_) if(!/^\s*Production\/Injection Rates/);
Run Code Online (Sandbox Code Playgroud)

'\'在这个上下文中不是一个转义序列吗?这是什么意思?谢谢!

Sch*_*ern 7

是的,\Perl正则表达式和其他地方的转义字符.它从某些字符中删除了特殊含义,并且与其他字符一起添加了特殊含义\s.

由于正则表达式选择使用/它作为分隔符,因此必须在正则表达式中对其进行任何使用.它难以阅读,被称为Leaning Toothpick Syndrome.您可以通过选择不同的分隔符(并消除冗余的parens)来避免这种情况.像{}[]更容易阅读的平衡分隔符可以避免许多逃避问题.

push(@hds,$_) if !m{^\s*Production/Injection Rates};
Run Code Online (Sandbox Code Playgroud)