除了CJK(中日韩)字符外,我想匹配由Unicode字母组成的单词。 CJK字符应单独和单独识别。 Unicode字母是Java Character.isLetter(ch)为true的任何字符。
我如何识别每个字母而不是CJK?在JFlex中,我这样做了:
cjk=[\u4E00-\u9FCF]|[\u3400-\u4DBF]|...
/* this translates to ([:letter:] and (not {cjk})) */
letter=!(![:letter:] | {cjk})
word=letter+
此语法在Antlr中不起作用。我知道我可以使用以下代码识别一封信,但我不知道如何排除CJK。
LETTER : [\p{L}];