Java GATE:将Token.string与宏进行比较

Java GATE:将Token.string与宏进行比较,java,text-mining,gate,Java,Text Mining,Gate,我想要的是将“Token.string”与定义的宏进行比较 我尝试的是: Macro: ADDRESSING_NOUN ({Token.kind == word, Token.string ==~ "(?i)(sir|madam)"}) Rule: Name ( {Token.kind == word, Token.string !=~ ADDRESSING_NOUN} ) 遗憾的是,这不起作用 那么有没有办法比较它们呢?这不是在Jape规则中使用宏的方式 宏用于简化规则,事实上,在Ja

我想要的是将“Token.string”与定义的宏进行比较

我尝试的是:

Macro: ADDRESSING_NOUN
({Token.kind == word, Token.string ==~ "(?i)(sir|madam)"})

Rule: Name
(
  {Token.kind == word, Token.string !=~ ADDRESSING_NOUN}
)
遗憾的是,这不起作用


那么有没有办法比较它们呢?

这不是在Jape规则中使用宏的方式

宏用于简化规则,事实上,在Jape编译时,宏被这些内容所取代,例如,您可能应该编写如下内容:

Macro: ADDRESSING_NOUN
({Token.kind == word, Token.string ==~ "(?i)(sir|madam)"})

Rule: Name
(ADDRESSING_NOUN):name
将被解雇的规则是

 ({Token.kind == word, Token.string ==~ "(?i)(sir|madam)"}):name

这不是在日本规则中使用宏的方式

宏用于简化规则,事实上,在Jape编译时,宏被这些内容所取代,例如,您可能应该编写如下内容:

Macro: ADDRESSING_NOUN
({Token.kind == word, Token.string ==~ "(?i)(sir|madam)"})

Rule: Name
(ADDRESSING_NOUN):name
将被解雇的规则是

 ({Token.kind == word, Token.string ==~ "(?i)(sir|madam)"}):name

伊恩·罗伯茨通过门邮件列表回答了我的问题

他的回答是:

Template: addressing = "(?i)(sir|madam)"

Rule: Name
({Token.kind == word, Token.string !=~ [addressing]})

伊恩·罗伯茨通过门邮件列表回答了我的问题

他的回答是:

Template: addressing = "(?i)(sir|madam)"

Rule: Name
({Token.kind == word, Token.string !=~ [addressing]})