string - 如何在 antlr 中捕获换行符并忽略 \n
问题描述
我对 antlr 中的字符串令牌有疑问。我必须接受像“abc\n”这样的字符串,但是当我推送一个像这样的字符串时会抛出一个错误
"abc
"
我如何捕捉换行符并忽略 \n ?
解决方案
规则
STRING : '"' ( ~[\\"\r\n] | '\\' ~[\r\n] )* '"';
将匹配:
"foo bar"
"foo\\bar"
"foo\"bar"
"foo\nbar"
并拒绝:
"foo
bar"
如果您也想匹配被拒绝的输入,请执行以下操作:
STRING : '"' ( ~[\\"] | '\\' [\\"] )* '"';
推荐阅读
- jquery - jQuery 灯箱插件
- reactjs - 升级 React 和 react-hot-loader:react-hot-loader/index.js 没有返回函数
- javascript - Chrome 扩展 manifest.json 没有加载权限
- c# - 将响应流转换为 XML
- function - 在同一脚本中同时运行提升和非提升代码的问题
- sql-server - rsProcessingError - 报告服务错误 - rsErrorReadingNextDataRow
- jquery - 如何从选中的复选框中获取多个值?
- navigation - 离子角组件:如何销毁?
- c# - 如何使用 C# 将 html 网页转换为图像
- html - 在 Html 中显示 Angular 中的 JSON 文件