2017-03-20 9 views
1

사이의 단어를 허용하는 정규식을 작성하려면 어떻게해야합니까? "안녕 bla bla bla world"(다른 수의 bla는 어디에서나 나타날 수 있음) - 수동으로 작성해야합니까? IS_ALPHA ? 당신이 정말로 당신이로 나타나는 * 한정 기호를 사용할 수 있습니다 사이에 IS_ALPHA 단어의 수를 걱정하지 않으면 내가Spacy 허용 된 단어 사이에 허용 된 단어로 패턴 추가

import spacy 
from spacy.matcher import Matcher 
from spacy.attrs import POS, LOWER, IS_PUNCT, IS_ALPHA 
nlp = spacy.load('en') 
matcher = Matcher(nlp.vocab) 
text=u"hello bla bla bla world" 


matcher.add_pattern("my regex1", [{LOWER: "hello"}, {IS_ALPHA: True}, {LOWER: "world"}]) 

doc = nlp(text) 


matches = matcher(doc) 
print(matches) 

답변

1

... 비 중요한 용어의 수 고급 모르겠어요 "OP" 키에 지정된 :

matcher.add_pattern("my regex1", [{LOWER: "hello"}, 
         {"OP": "*", IS_ALPHA: True}, {LOWER: "world"}]) 

가능한 수량 자에 대한 구문과 the spaCy docs의 소스에서 test_matcher.py를 참조하십시오.