正则表达式 理解和简单使用

  正则表达式就像数学中的乘法表一样重要。鸟哥的话,学习方法也和和乘法表一样,需要熟记。因为好多地方都是通用的,这是我自己的理解。暂时先添加一些会的,常用的。后期慢慢补全。

*  :星号,表示可以0个数或多个数,0个或者多个在星号前面的那个数。例如  9*  ,表示,有0个9或者许多个9.

.  :点号,在正则表达式中表示任意字符,但是一个点只占一位,多了需要自己添加。可与 * 一起使用 ,例如 .* 这个表示没有任意字符或者多个任意字符。

 

^  :这个符号没有名字(有哪位大牛知道了可以告诉我一下 O(∩_∩)O),在【】外面表示匹配行首的字符,如 ^u 表示匹配 以u为首字母的行。在【】里面表示反向选择,如

  【^a-z】表示 匹配非小写字母。

u

上面两个有个特殊一点的例子:要匹配文档中的空行怎么使用?,假设文档为a.txt。

那就使用grep 了。  grep -n ^$ a.txt    本来就是输出空行,没有意义,所以加上 -n 输出一下行号。

 

\ :这个叫跳脱字符,就是取消符号的特殊意义的作用。如点号 /. 就是让点号只表示一个点。\{\} 也是让这两大括号仅表示大括号。

{}:这个表示范围,例如 r\{4\} 表示 匹配4个r相连的 字符串。r\{4,8\} 范围变成4-8个。如果逗号后没数字,r\{4,\} 这就表示4个以上的r,可以等同于rrrrr* 。

posted @   风风羊  阅读(154)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示