小弟在sed使用中,对正则表达式有几个地方犯迷糊,为了彻底弄明白,试验之……
特将结果呈与各位,请师兄们批评指正!也让初学者少走弯路。
虽说有些问题在明白之后,感觉很简单,贴出来好像没必要;但在明白之前,的确很让人糊涂,所以还是决定贴出来。
In basic regular expressions the metacharacters ?, +, {, |, (, and ) lose their special meaning; instead use the backslashed versions /?, /+, /{, /|, /(, and /).
---以上来自man grep 中的REGULAR EXPRESSIONS
正则表达式中的限定符:
* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。
+ 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。
{n} n是一个非负整数。匹配确定的n次。例如,'o{2}' 不能匹配"Bob"中的
sed识别regular expression
最新推荐文章于 2024-06-17 19:58:50 发布
本文通过一系列实验展示了在sed中如何使用和转义正则表达式符号,包括*、+、?、{n}等限定符,以及^、$等边界匹配。同时也探讨了/w、/d等特殊字符在sed中的行为,并通过实例解析了sed在处理正则表达式时的规则和限制。
摘要由CSDN通过智能技术生成