"regexp": {
"commonStructure": {
"value": "[^>]*?[,<]PRP[,>][^\\<]*?\\s[^>]*?[,<]VERB[,>].*",
"flags": "ALL"
}
}
该模式正确,并且可以在js和python中使用
她是示例字符串
<PRP,PRON>{I} <VBD,VERB>{worked} <ADVPL,IN,ADP>{in} <NNP,PROPN>{London} <IN,ADP>{at} <ADVTMRI,RB,ADV>{first} <PUNCT>{,} <CC,CCONJ>{but} <PR,PRON>{it} <VBD,VERB>{was} <RB,ADV>{not} <JJ,ADJ>{easy} <TO,PART>{to} <VB,VERB>{make} <NN,NOUN>{money} <ADVPL,RB,ADV>{there} <PUNCT>{.}
在这种模式下,我要获取所有具有第一个[PRON]
且下一个邻居是[VERB]
请注意,在这种模式下,第一个[PRON]
的情况下,我也可以传递单词{I}
答案 0 :(得分:1)
Lucene regex引擎不支持常见的NFA regex速记字符类。
要匹配空格,您可以使用自己的方括号表达式,例如[ \t\r\n]
或[ \f\n\r\t\v]
。
要匹配除<
以外的任何字符,请使用[^<]
,不要转义<
,因为它不是特殊的正则表达式字符。
因此,您可以使用
"[^>]*[,<]PRP[,>][^<]*[ \t\r\n][^>]*[,<]VERB[,>].*"