当前位置: 首页 > news >正文

7、模式匹配与操作的深度探索

模式匹配与操作的深度探索

1. 匹配任意字符

在模式匹配中,正则表达式的模式片段通常会尽可能多地匹配字符,这使得匹配单行、单个单词或单个其他内容变得有些棘手。例如,正则表达式.*\n虽然可以匹配单行,但也能匹配多行,因为多行都以\n结尾。若要逐行读取另一个程序的输出,就不能使用这种模式。解决办法是使用^,当它作为正则表达式范围的第一个字符时,表示匹配除给定字符之外的任何字符。

例如:
-[^ ab]匹配除ab之外的任何字符。
-[^ a - zA - Z]匹配除字母之外的任何字符。

范围可以用来构建更大的模式,如[^ ]*可以匹配不包含空格的最长字符串。以下是一个使用expect -re命令匹配输入中每个单词的示例:

expect -re "([^ ]*) "

这个范围会匹配每个单词,结果会存储在$expect_out(1, string)中。需要注意的是,单词末尾的空格需要显式匹配,否则输入缓冲区会以空格开头,后续匹配可能会返回第一个空格前的空字符串。

为了简化模式,可以将*替换为+,这样可以强制模式至少匹配一个字母,从而跳

http://www.cnnetsun.cn/news/125513.html

相关文章:

  • 8、调试模式与控制输出:探索Expect脚本的高级技巧
  • 13、《深入探究 send 命令:功能、应用与对比》
  • Kotaemon框架入门指南:轻松上手检索增强生成技术
  • EdgeRemover专业指南:彻底移除微软浏览器的技术方案解析
  • 安卓实体手机分辨率适配失败?BlueArchiveAutoScript兼容性深度解决方案
  • Avogadro分子编辑器终极指南:从入门到精通的完整攻略
  • GSE高级宏编译器完整指南:魔兽世界技能自动化终极解决方案
  • 5分钟搞定:PPTist在线演示文稿编辑器的完整部署指南
  • 终极JavaScript转TypeScript迁移指南:如何快速完成代码现代化改造
  • Habitat-Matterport3D数据集完整部署手册
  • 微信消息留存终极解决方案:告别错失重要信息的烦恼
  • OpenDog V3开源四足机器人深度解析与完整指南
  • 终极指南:如何快速配置FanControl.HWInfo插件实现精准风扇控制
  • AdGuard浏览器扩展:彻底告别广告困扰的终极隐私保护方案
  • 5分钟掌握Android MVVM开发:Saber框架完整实战指南
  • 微信小程序图片裁剪完整指南:we-cropper从入门到实战
  • HexEdit:5大核心功能助你轻松掌握二进制文件编辑
  • 高效代码对比:v-code-diff插件完全配置手册
  • 14、Linux系统文件系统安全与管理监控全解析
  • SharpKeys如何彻底改造你的键盘布局?Windows键位自定义完全指南
  • Windows C++构建工具自动化配置指南:5步搞定Node.js原生模块编译环境
  • Mac百度网盘终极加速指南:3步解锁全速下载体验
  • 网盘下载加速工具个性化定制终极攻略
  • Translumo终极教程:20分钟掌握屏幕实时翻译神器
  • WPS-Zotero终极指南:5分钟实现Linux与Windows无缝文献协作
  • 告别布局烦恼:CSS Grid Generator让你秒变布局高手
  • QuantConnect本地开发环境搭建实战手册
  • 基于Vue和Python的羽毛球拍智能推荐系统, 从“不会选羽毛球拍”到“选对拍”的一站式小工具
  • Kindle电子书封面修复指南:从“暂无图片“到完美显示的完整解决方案
  • uBlock Origin规则冲突终极解决指南:从异常到完美修复