我想使用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
失败。
我没有找到任何文档可以将量词应用于一组运算符。任何帮助将不胜感激。
答案 0 :(得分:1)
您可以直接将正则表达式用作模式。
matcher.add('NUMBER_MERGE', None, [{"TEXT": {"REGEX": "\d+(-\d+)*"}}])