bison - 处理弹性空间的问题
问题描述
我正在尝试制作一个 flex 程序,删除一行开头和结尾的所有空格,并将多个空格转换为 1 个空格。这是我想出的代码规则:
%%
^[[:space:]]+ {}
[[:space:]]+$ {printf("\n");}
[[:space:]]+ {printf(" ");}
%%
为了测试这一点,我一直在使用 notepad++ 来检查字符是否正确更改。Notepad++ 将换行标识为 CR LF(我不知道这个词及其含义),但在执行第二条规则后,结果是 \n 变为 LF 而不是 CR LF,导致以下规则意外工作。
您知道为什么会发生这种情况以及如何解决吗?提前致谢
解决方案
推荐阅读
- javascript - iFrame 重定向问题
- python - 如何从 numpy 文档正确运行 f2py 示例?
- r - MLR 未在 RStudio 作业中注册学习者
- python - 使用 knn 预测来自另一个 DataFrame 的值(Python 3.6)
- javascript - 如果字符匹配,则选择第 N 个字符 - RegEx
- python - 从子进程 Popen 进程中运行的烧瓶 localhost 应用程序获取端口
- html - 如何修复 Outlook 中两个 HTML 表格中的空白
- algorithm - a 的 b 次方 - 递归算法
- angular - Angular - 无法设置标题
- reactjs - 无法在 monorepo 中配置 mobx(使用 yarn 工作区)