Python正则表达式相当于perl

时间:2015-05-31 17:50:36

标签: python perl

在Python中跟随Perl条件的等价物是什么

return {
        restrict: 'E',
        template:"adsf"
    }

我尝试了以下但是它不匹配(底部的行)

if($line=~/DramBase/)

我不得不将其改为

if(re.match( r'DramBase', line)):

匹配此行

if(re.match( r'.*DramBase', line)):

是否有一个标志可以在线上的任何位置匹配它而不显式匹配起始字符?

2 个答案:

答案 0 :(得分:3)

您需要使用re.search,而不是re.matchre.match仅匹配字符串的开头,而re.search匹配任何位置,就像在Perl中一样。

答案 1 :(得分:2)

请参阅re — Regular expression operations了解

  

re.match(pattern,string,flags = 0)

     

如果字符串开头的零个或多个字符与正则表达式模式匹配,则返回相应的匹配对象。如果字符串与模式不匹配,则返回None;请注意,这与零长度匹配不同。

     

请注意,即使在MULTILINE模式下,re.match()也只会匹配字符串的 而不是每行的开头。

     

如果您想在字符串中的任何位置找到匹配,请使用search()代替(另请参阅search()与match())。