regex - Flex 正则表达式用于包含空格的文本,例如“-.-.--.- -.-.--.-”
问题描述
我习惯了 PCRE,但我使用的是 Flex,它对正则表达式和引用有一些有限的功能。我似乎无法找到将所有莫尔斯电码作为单个令牌获取的方法。我认为它类似于带引号的字符串。最后一个字符是 [-.],开始是 [-.]。但整个莫尔斯电码也可能只是一个字节,如“。”。我可以要求它以“莫尔斯电码”作为开始。但我无法让它发挥作用。
我的例子:这是莫尔斯电码-.-。--.- 对于 CQ。
我想将完整的莫尔斯电码字提取为一个标记“-.-.--.-”或“莫尔斯电码-.-.--.-”,可以由破折号'-'、点'组成。和一个空间。我可以将其传递给解码器。我可以轻松地在开头提取固定文本,但我不能保证行尾是什么。
我见过这个正则表达式
[.-]{1,5}(?:[ \t]+[.-]{1,5})*(?:[ \t]+[.-]{1,5}(?:[ \t]+[.-]{1,5})*)*
但它使用 Flex 不支持的 (?: 表示法。
有什么建议么?
解决方案
推荐阅读
- numpy - 即使在 cmd 中运行 pip install numpy 后,我也无法在 pycharm 中导入 numpy 并显示错误
- php - imagick 无法显示转换结果
- python - python django当我点击他的名字时如何只显示个人员工的信息
- python - 传统知识 | 制作 TTK 样式时图像“pyimage1”不存在
- javascript - 除非我刷新页面,否则 Mmenu 不会打开菜单
- unit-testing - 如何使用 DatabaseGenerated 字段对实体进行单元测试?
- firebase - Flutter 无法调用回调函数进行 Firebase 云混乱
- python - 尝试在 Mac 上使用 Python3 安装 MetaTrader5
- c# - 使用 lstListbox.Items.Add(oClass) 到另一个窗口的列表框
- node.js - 为什么我的 node.js 服务器不能在 iisnode 下运行?