-3
このコードは何を説明できますか?正規表現のステマーコードの説明
def stemmer(word):
[(stem,end)] = re.findall('^(.*ss|.*?)(s)?$',word)
return stem
このコードは何を説明できますか?正規表現のステマーコードの説明
def stemmer(word):
[(stem,end)] = re.findall('^(.*ss|.*?)(s)?$',word)
return stem
これは、2つの部分に単語を分割:stem
とend
。 3例があります。
ss
(またはそれ以上s
):stem <- word
とend <- ""
s
で終わる:s
で終わっていないstem <- word without "s"
とend <- "s"
stem <- word
およびend <- ""
これは、キャプチャする正規表現によって行われます。完全な言葉(^....$
のため)。最初の部分(すなわちstem
)は、可能な限りss
(.*ss
)で終わるか、できるだけ少ない(.*?
)で終わるかのいずれかで構成されています。その後、可能であれば終了s
はend
と解釈されます。
最初のケース(可能な限りss
で終わる)では、end
の部分にはさらにs
が存在しないことに注意してください。