perl regular expresstion
sed -n -r ; -n表示quiet, 只輸出匹配結(jié)果; -r表示使用正則表達(dá)式
?
re:
* 匹配任意
? 匹配0,1
+ 匹配>=1
?
?
[]: 匹配其中任意字符;中括號(hào)內(nèi)的連續(xù)字符可以使用-, 0-9表示0,1,2,3,4,5,6,7,8,9
[^]: 匹配非中括號(hào)中的任意字符
echo "def" | sed -n -r "/d[eE]f/p"???????? 輸出:def
echo "def" | sed -n -r "/d[a]f/p"?????????? 輸出:無(wú)
?
/b:? 匹配單詞邊界
echo "defgh" | sed -n -r "//bdef/p"????? 輸出:defgh
echo "defgh" | sed -n -r "/def/b/p"????? 輸出:無(wú)
?
/B: 匹配單詞內(nèi)部, 用法基本同上
?
^, $分別匹配行首與行尾
?
字符轉(zhuǎn)義:
/d? 數(shù)字???????? /D? 數(shù)字外的字符
/w 單詞字符?? /W 非單詞字符.(包括數(shù)字。。sed試過(guò))
/s? 空白????????? /S 非空白
?
.? 匹配出/n之外的任意字符
?
{n, [m]} 匹配n次到m次;
/de{1,3}f/ 將會(huì)匹配def, deef, deeef
?
| 或, /def|ghi/ 將匹配def 或者 ghi
?
?
() 分組。 通過(guò)/n引用第n組
echo "abc.com" | sed -n -r "/(/w+).(/w+)/p"? 其中有兩個(gè)組, 第一個(gè)組匹配abc, 第2個(gè)組匹配com
模式匹配選項(xiàng)
g: 匹配所有可能模式
i:??? 忽略大小寫(xiě)
m:? 將串視為多行
s:?? 將串視為單行
x:?? 忽略所有空白
?
肯定否定匹配
/abc(?=string)/匹配abc后為string的模式, 返回的是abc
/abc(?!string)/ 匹配abc后不是string的模式, 返回的是abc
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的perl regular expresstion的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: sed 示例
- 下一篇: bogofilter notes