我想在core-nlp管道中为regexner设置一个正则表达式pattenr。我的实体/令牌是
Machine_DS2302
第二部分是alphanumeric
。
我目前所拥有的是
Machine_.* MachineNumber
但是,这会注释所有内容(这是一个通配符)。我想根据第二部分中的正则表达式将标记添加为MachineNumber
,即如果_之后的第二部分是数字,则将其分配给所述标记。
正则表达式
^[a-zA-Z0-9]*$
但即便
Machine_^[a-zA-Z0-9]*$
不起作用
regexNER的这种模式怎么样?
答案 0 :(得分:1)
锚点是多余的,它们实际上会阻止模式匹配,因为^
匹配字符串起始位置,$
匹配字符串结束位置。
由于您需要在_
之后访问该部件,因此您还需要捕获,因此请使用捕获组:
Machine_([a-zA-Z0-9]*)
(...)
将创建一个包含字母数字值的子匹配。
请注意,如果字母数字部分应包含至少1个字符,则可能需要将*
替换为+
。