如何从perl将regexp转换为python
发布时间:2020-12-16 06:10:27 所属栏目:大数据 来源:网络整理
导读:在Perl中: if ($test =~ /^id:(.*)$/ ) { print $1; } 解决方法 在Python中: import retest = 'id:foo'match = re.search(r'^id:(.*)$',test)if match: print match.group(1) 在Python中,正则表达式可通过 re library获得. 字符串前面的r表示它是raw stri
在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中,正则表达式可通过 字符串前面的r表示它是raw string literal,这意味着反斜杠不会被特殊处理(否则每个反斜杠都需要使用另一个反斜杠进行转义,以便文字反斜杠进入正则表达式字符串). 我在这里使用了re.search,因为这是与Perl =?运算符最接近的等价物.还有另一个函数re.match,它执行相同的操作,但只检查从字符串开头开始的匹配(与Perl程序员的“匹配”定义相反).有关两者之间差异的详细信息,请参阅this explanation. 另请注意,不需要转义:因为它不是正则表达式中的特殊字符. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |