使用Spacy模式匹配器的复杂(重复)规则

时间:2019-07-02 03:18:42

标签: python spacy matcher

我想使用spaCy的模式匹配器匹配重复模式。以下是我要匹配的模式: My account number is: 2893-26492-634-0924-63. Some more text here. 基本上,尝试匹配以下正则表达式:\d+(-\d+)*

matcher = Matcher(nlp.vocab)
matcher.add('NUMBER_MERGE', None, [ {'IS_DIGIT': True}, {'IS_PUNCT': True}, {'IS_DIGIT': True}, {'IS_SPACE':True}])

这与342-234 Text匹配,但是对342-234-958 Text失败。

我没有找到任何文档可以将量词应用于一组运算符。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以直接将正则表达式用作模式。

matcher.add('NUMBER_MERGE', None, [{"TEXT": {"REGEX": "\d+(-\d+)*"}}])