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 个字符,您可能需要将 *
替换为 +
。
我想在 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 个字符,您可能需要将 *
替换为 +
。