core-nlp 中 regexNER 中的模式

pattens in regexNER in core-nlp

我想在 core-nlp 管道中有一个用于 regexner 的 regex pattenr。我的 entity/token 是

Machine_DS2302

其中第二部分是alphanumeric

我目前拥有的是

Machine_.*  MachineNumber

但是,这会注释所有内容(这是一个通配符)。我想根据第二部分中的 regex 添加标签 MachineNumber 即,如果 _ 之后的第二部分是数字,则将其分配给所述标签。

正则表达式模式

^[a-zA-Z0-9]*$

但即使

Machine_^[a-zA-Z0-9]*$

无效

这样的模式对于 regexNER 会是什么样子?

锚点是多余的,它们实际上阻止了模式匹配,因为 ^ 匹配字符串开始位置而 $ 匹配字符串结束位置。

由于需要访问_之后的部分,还需要捕获,所以使用捕获组:

Machine_([a-zA-Z0-9]*)

(...) 将创建一个包含字母数字值的子匹配项。

请注意,如果字母数字部分应至少包含 1 个字符,您可能需要将 * 替换为 +