正则表达式速查与实战教程

需积分: 10 0 下载量 148 浏览量 更新于2024-09-12 收藏 14KB TXT 举报
正则表达式是一种强大的文本处理工具,广泛应用于编程和文本分析中。它通过特定的模式匹配规则,可以高效地搜索、替换或提取文本中的信息。以下是一些正则表达式口诀及其应用实例,帮助理解其核心概念和用法: 1. **匹配数字**: - `1^\d+$`: 匹配一个或多个连续的数字,不能以0开头(如:123,-456) - `2^[0-9]*[1-9][0-9]*$`: 匹配非负整数(如:12, 123, 001) 2. **浮点数匹配**: - `3^((-\d+)?(0+))$`: 包含可选的负号、小数点前的数字和可选的零 - `6^\d+(\.\d+)?$`: 匹配整数或包含小数点的数(如:123, 12.34, 0) 3. **负数与精度**: - `5^-?\d+$`: 匹配整数,包括负数(如:-123, 0, 456) - `10^(-?\d+)(\.\d+)?$`: 匹配带小数点的数,可有负号(如:-12.34, 0.5) 4. **字母匹配**: - `11^[A-Za-z]+$`: 匹配由字母组成的字符串(不区分大小写,如:ABC) 5. **特殊字符**: - `12^[A-"`: 未完成的匹配模式,似乎缺失了结束符号,但可能表示匹配由大写字母到特殊字符(如:"A-Z,")的一串字符。 6. **特殊表达式示例**: - `\b(\w+)\b\s+\1\b`: 匹配重复的单词(如:“apple apple”) - `(?<Word>\w+)аowo\w+`: 使用命名捕获组查找"wo"前后各有一个词的字符串(如:“word wow word”) 7. **位置匹配**: - `"\w+\b\w+(?=ing\b)"`: 查找两个相邻的词,后一个词以“ing”结尾(如:“play playing”) - `"(?<=\bsub)\w+\bλsubַ"`: 查找以“sub”开头的单词,紧跟其后的可能是λsub 8. **括号和分组**: - 斜线`//`后的注释解释了如何使用括号来分组和提取模式中的特定部分。 9. **正则表达式的边界匹配**: - `\b`: 单词边界,确保匹配的是单词内部而非单词前后 - `^` 和 `$`: 匹配行首和行尾 10. **否定和条件匹配**: - `^-[0-9]*[1-9][0-9]*$`: 匹配负数 - `(?!og)\w*dog`: 使用否定前瞻,确保"og"不在字符串中(如:cat dog) 11. **PHP相关正则表达式**: - `治һͳͳ\w*d(?!og)\w*dogϣdoϣ`: 验证某个字符串是否包含"do"但不包含"og"(如:“doc do”) 这些正则表达式口诀展示了正则表达式的基本构造、选择器、量词和组合方式,有助于理解和掌握这个强大的文本处理工具。在编程中,如PHP、JavaScript等,正则表达式经常用于数据验证、搜索替换等场景,提高代码的效率和灵活性。