我有一个小问题(我之前使用过Google): 有没有办法,如何匹配除引号之外的所有特殊unicode字符?
我有这段代码:
STRING: '"' (NUMBER|LETTER|' '|'!'|'?'|':'|'.'|'/'|'*')* '"';
fragment LETTER: ('a'..'z'|'A'..'Z');
fragment DIGIT: ('0'..'9');
有更有效的方法吗?
感谢您的反馈!
答案 0 :(得分:0)
~["]
或旧的v3样式~'"'
匹配除引号之外的任何字符。
如果您还想排除换行符,请执行以下操作:
STRING : '"' ~["\r\n]* '"';
~x
匹配
x
描述的集合中没有的任何单个字符。集x
可以是单个字符文字,范围或子集,如~(’x’|’y’|’z’)
或~[xyz]
。以下规则使用~
来匹配使用~[\r\n]*
的字符以外的任何字符:COMMENT : '#' ~[\r\n]* '\r'? '\n' -> skip ;