ruby 正则表达式详解及示例代码
Ruby正则表达式常用语法包括重复次数(*+?)、范围描述符([])、字符类(如\d\w\s)、边界匹配(^$)、分组捕获及转义等元字符,提供非负整数、邮箱、账号等典型匹配模式,广泛用于表单验证与文本处理,便于快速查阅与套用,功能强大。
在编写Puppet的pp文件时,经常会用到Ruby的正则表达式。下面整理了一份常用正则表达式的速查表,附带一些经典示例,方便快速查阅。

正则表达式基本语法
{}: 重复次数(如 {4} 表示前面的元素恰好出现4次)
{m,n}: 前面元素最少出现m次,最多出现n次
[]: 范围描述符(如 [a-z] 表示a到z范围内的一个字母)
\w: 字母或数字,相当于 [0-9A-Za-z]
\W: 非字母或数字
\s: 空白字符,相当于 [\t\n\r\f]
\S: 非空白字符
\d: 数字,相当于 [0-9]
\D: 非数字字符
*: 前面元素出现0次或多次
+: 前面元素出现1次或多次
?: 前面元素最多出现1次
|: 匹配前面或后面的表达式
\b: 退格符(0x08)(仅在范围描述符内部时)
\b: 字边界(word boundary)(在范围描述符外部时)
\B: 非字边界
常用正则表达式实例
=begin
非负整数(正整数+0): ^\d+$
正整数: ^[0-9]*[1-9][0-9]*$
非正整数(负整数+0): ^((-\d+)|(0+))$
由26个英文字母组成的字符串: ^[A-Za-z]+$
由数字和26个英文字母组成的字符串: ^[A-Za-z0-9]+$
E-mail地址: ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
年-月-日:
中文字符: [\u4e00-\u9fa5]
双字节字符(包括汉字在内): [^\x00-\xff]
HTML标记: /<.*>.*<\/1>|<.*>\/>/
账号是否合法(字母开头,允许5-16个字节,允许字母数字下划线): ^[A-Za-z][a-zA-Z0-9_]{4,15}$
电话号码: (\d{3}-|\d{4}-)?(\d{8}|\d{7})?
腾讯QQ号: ^[1-9]*[1-9][0-9]*$
以上就是Ruby正则表达式的常用语法和典型匹配模式,实际开发中可以直接套用,省去不少调试时间。希望这份整理对你有帮助。
WPS Office是一款面向macOS用户的综合办公套件,将文字处理、电子表格、演示文稿、PDF工具、模板与云协作整合在同一应用中。它兼容常见Microsoft Office格式,支持Intel及Apple芯片Mac,基础功能可免费使用,
Shapr3D是一款面向工业设计、机械工程、建筑概念和三维打印工作流的CAD软件。Mac版采用Parasolid建模内核,支持草图约束、实体建模、工程图、可视化渲染及常见CAD格式交换,并可通过账户在多台设备之间同步项目。
REAPER是Cockos开发的数字音频工作站,提供多轨音频与MIDI录制、剪辑、处理、混音和母带制作工具。Mac版兼容Intel与Apple芯片,支持AU、VST、VST3、CLAP等插件格式,并提供高度可定制的工作流程。
Adobe Photoshop 是面向摄影师、设计师和内容创作者的专业图像处理工具,可在 Windows 上完成照片修饰、选区抠图、图层合成、文字排版、绘画及生成式编辑。软件采用订阅授权,由 Creative Cloud 管理安装、更新与许
Adobe InDesign 是面向印刷与数字出版的专业页面排版工具,可制作书籍、杂志、宣传册、海报、交互式 PDF 和电子书。它提供精细的文字样式、多页面管理、印前检查及多格式输出能力,并能与 Photoshop、Illustrator
Adobe Illustrator 是用于绘制矢量图形、插画、图标、徽标和版式的专业设计工具。它以路径和锚点为核心,作品放大后仍能保持清晰,并提供画板、文字、渐变、图像描摹及精确变换等功能,适合品牌视觉、印刷物料、数字界面和商业插画创作。













