In [1]:
from natto import MeCab
In [2]:
text1 = """\
証券コードは4桁の銘柄識別コードです。
たとえば、7777 です。
あるいは 7777 JP や 7777.Tというのもあります。
また「7777JP」のような全角文字を使う表し方もあるかも知れません。
\
"""
# 簡単な証券コードの正規表現
patt = "[0-9\uFF10-\uFF19]{4}((\s|\.)+[a-zA-Z]{1,2}|[\uFF21-\uFF3A]{2})"
with MeCab(r"-F%m\t%f[0]\t%s") as nm:
#for n in nm.parse(text, as_nodes=True):
for n in nm.parse(text1, boundary_constraints=patt, as_nodes=True):
print(n.feature)
In [3]:
text2 = "にわにはにわにわとりがいる"
feat = (("にわとり","*"), ("はにわ","*"), ("にわ","*"))
with MeCab(r"-F%m\t%f[0]") as nm:
for n in nm.parse(text, as_nodes=True):
for n in nm.parse(text2, feature_constraints=feat, as_nodes=True):
if not (n.is_bos() or n.is_eos()):
print(n.feature)