案例不敏感的JFLEX REGEX



如何实现JFLEX中的情况不敏感的正则表达模式。

使用标准(?i :)符号似乎不起作用。

例如:

To match the case insensitive word "class", the regex would be (?i:class).
But this doesn't work in a JFlex specification.

使用其中一个指令:

  • %caseless
  • %ignorecase

手册:

此选项使JFLEX在规范中处理所有字符和字符串,就好像它们以大写和小写形式指定一样。这使得可以轻松指定具有案例不敏感关键字的语言的扫描仪。规范中的字符串"断裂"例如像表达式一样处理([bb] [rr] [ee] [aa] [kk])。%无壳选项不会更改匹配的文本,也不会影响字符类。因此,[a]仍然只匹配字符A,而不是A。哪些字母是大写的,哪些小写字母由Unicode标准定义,由JFLEX用Java方法字符确定。在JLEX兼容模式(命令行上的-JLEX开关),%caseless和%ignorecase也会影响字符类。

相关内容

  • 没有找到相关文章

最新更新