如何从perl将regexp转换为python

前端之家收集整理的这篇文章主要介绍了如何从perl将regexp转换为python前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在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.

另请注意,不需要转义:因为它不是正则表达式中的特殊字符.

猜你在找的Perl相关文章