正则表达式在编程中常用于查找和替换字符串,验证用户输入,在很多语言中都可以使用。此文我写了一下 Python 的正则表达式实例,例子我参照书籍 《Regular Expression Recipes
for Windows Developers A Problem-Solution Approach》中的 C# 表达式应用例子,除了 C#,这本书还包含 VB.Net, VBScript, JavaScript 的实例。
实例 | 正则表达式 |
---|---|
查找空白行 | ^\s*$ |
查找单词 something | \bsomething\b |
查找单词 moo 或 oink | \s+(moo|oink)\s+ |
查找 John, Jon 或 Jonathan Doe | \bJoh?n(athan)? Doe\b |
查找相似的单词 bat, cat, mat | \b[bcm]at\b |
查找双引号包含的字符串 | (?<=\")[^\"]*(?=\") |
检查密码的复杂程度(7-15 位的字母数字组合) | ^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9]).{7,15}$ |
查找一行中连续出现的重复单词,如: It’s very very good 中的 very |
\b(\w+)\s\1\b |
查找多行中连续出现的重复单词 | \b(\w+)(\s*$\s*|\s+)\1\b |
查找以某个单词开头的行,如:Moo | ^Moo\b |
查找以某个单词结尾的行,如:final | \bfinale$ |
查找 likely 但前面没有 not | (? |
查找 hello 但后面不接 world | \bhello\b(?!\s+world\b) |
查找不以 ;结尾的行 | (?<=[^;])$" |
实例 | 正则表达式 |
---|---|
提取地址中的 scheme,如 http 或 https | ^(? |
提取地址中的 domain | ://(? |
提取地址中的端口号 | :(? |
提取地址中的查询参数 | \\?(? |
提取路径中的磁盘 | ^(? |
提取共享路径中的主机名称 | \\(? |
欢迎评论,如果你喜欢这篇文章, 请记得帮我点赞哦,谢谢!
本文为作者原创文章,未经作者允许不得转载。