我正在尝试在Python中复制Perl Fathom。此步骤纠正某些单词组合的音节计数。 =〜是否等效于Python中的re.match? re.match仅查找第一个实例。谢谢!
@SubSyl = (
'cial',
'tia',
'cius',
'cious',
'giu',
'ion',
'iou',
'sia$',
'.ely$',
'[^td]ed$',
);
foreach (@SubSyl) {
$syl-- if $word =~ /$_/;
}
答案 0 :(得分:5)
=~
是绑定运算符。它可以绑定匹配,替换或音译。我猜只有第一个等效于Python中的匹配,但是似乎您需要re.search
来代替,因为与//
的匹配不是锚定在字符串的开头。
答案 1 :(得分:3)
当然不是re.match()
。有点麻烦,但是re.match
仅在字符串的开头才匹配模式。
如果字符串开头的零个或多个字符与正则表达式模式匹配,则返回相应的匹配对象。如果字符串与模式不匹配,则返回None;否则返回false。请注意,这与零长度匹配不同。
re.search()
更可能是您要寻找的内容(除非您的正则表达式模式总是与字符串的开头匹配)。