在Perl中:
if ($test =~ /^id\:(.*)$/ ) { print $1; }
解决方法
在Python中:
import re test = 'id:foo' match = re.search(r'^id:(.*)$',test) if match: print match.group(1)
在Python中,正则表达式可通过re
library获得.
字符串前面的r表示它是raw string literal,这意味着反斜杠不会被特殊处理(否则每个反斜杠都需要使用另一个反斜杠进行转义,以便文字反斜杠进入正则表达式字符串).
我在这里使用了re.search,因为这是与Perl =〜运算符最接近的等价物.还有另一个函数re.match,它执行相同的操作,但只检查从字符串开头开始的匹配(与Perl程序员的“匹配”定义相反).有关两者之间差异的详细信息,请参阅this explanation.
另请注意,不需要转义:因为它不是正则表达式中的特殊字符.