perl的Python正则表达式等价物
在Python中,以下Perl条件的等价物是什么perl的Python正则表达式等价物,python,perl,Python,Perl,在Python中,以下Perl条件的等价物是什么 if($line=~/DramBase/) 我尝试了以下方法,但不匹配(底部的线条) 我不得不把它改成 if(re.match( r'.*DramBase', line)): 与这条线相配 # -DF0.CCM0.DramBaseAddress1 0x00004001 是否有一个标志可以在行中的任何位置匹配它,而不显式匹配起始字符?您需要使用,而不是re.match仅匹配字符串的开头,而re.search匹配任何位置,如在Perl中。请参阅
if($line=~/DramBase/)
我尝试了以下方法,但不匹配(底部的线条)
我不得不把它改成
if(re.match( r'.*DramBase', line)):
与这条线相配
# -DF0.CCM0.DramBaseAddress1 0x00004001
是否有一个标志可以在行中的任何位置匹配它,而不显式匹配起始字符?您需要使用,而不是re.match
仅匹配字符串的开头,而re.search
匹配任何位置,如在Perl中。请参阅以获取解释
重新匹配(模式、字符串、标志=0)
如果字符串开头有零个或多个字符与正则表达式模式匹配,则返回相应的匹配对象。如果字符串与模式不匹配,则返回None;请注意,这与零长度匹配不同
请注意,即使在多行模式下,re.match()也只会在字符串的开头进行匹配,而不会在每行的开头进行匹配
如果要在字符串中的任何位置找到匹配项,请改用search()(另请参见search()vs.match())
我想你应该使用
re.search
谢谢。这是如何支持“只有一种显而易见的方法”的Python哲学的呢。re.match
是否可以替换为re.search(r'^…')
?
# -DF0.CCM0.DramBaseAddress1 0x00004001