<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
$ echo "String[] args" | grep -Eo "[][0-9a-zA-Z ]+" String[] args (這一行是匹配到的結果)
(1)grep -E
加上 -E
表示採用正規表示式進行匹配。加 -o
引數,表示只輸出匹配到的部分。
(2)正規表示式中,表示 Character class (字元組)的中括號:即下面例子中最外層的中括號,例如 [0-9]+
匹配一個或多個 0 到 9 的數位,[0-9a-z]+
匹配一個或多個 0 到 9、小 a 到 小 z 的字元。
(3)在字元組中使用中括號,也就是說在中括號裡還有中括號。 匹配中括號 [
]
時,需要把中括號放到字元組的最前面,且]
在前,[
在後。(如下面例子中的 [][0-9a-zA-Z ]+
)
echo "String[] args" | grep -E "[[]0-9a-zA-Z ]+"
這樣是不匹配 String[] args
的。
用 [
可以匹配到左中括號,例如,這種形式 [0-9a-zA-Z []+
可以匹配到左中括號,無法匹配右中括號:
$ echo "String[] args" | grep -Eo "[0-9a-zA-Z []+" String[ (這一行是匹配到的結果) args (這一行是匹配到的結果)
說明:加 -o
引數,表示只輸出匹配到的部分。可以看到只匹配到了 String[
,沒有右中括號。
其他情況的輸出結果:
$ echo "String[] args" | grep -Eo "[0-9a-zA-Z []]+" [] (這一行是匹配到的結果)
說明:這個正規表示式 [0-9a-zA-Z [[]]+
實際被解釋為 [0-9a-zA-Z [[]
和 ]+
了。[0-9a-zA-Z [[]
匹配左中括號,接著是 ]+
匹配右中括號。
$ echo "String[] args" | grep -Eo "[]0-9a-zA-Z []+"String[] args(這一行是匹配到的結果)$ echo "String[] args" | grep -Eo "[]0-9a-zA-Z []+" String[] args (這一行是匹配到的結果)
說明:[]0-9a-zA-Z []+
是可以匹配 String[] args
的,需要把 ]
放到最前面。[
放到後面也可以。
注意:一定要加 -o
引數。
大括號 {
}
在中括號中沒有順序關係。也不用必須放在中括號的最前面。
這幾種形式都可以: [}{0-9a-zA-Z ]+
, [{}0-9a-zA-Z ]+
,[0-9a-zA-Z {}]+
,[0-9a-zA-Z }{]+
$ echo "{abc 123}" | grep -Eo "[}{0-9a-zA-Z ]+" {abc 123} (這一行是匹配的結果) $ echo "{abc 123}" | grep -Eo "[{}0-9a-zA-Z ]+" {abc 123} (這一行是匹配的結果)
[][}{0-9a-zA-Z, ]+
,[][{}0-9a-zA-Z, ]+
,[]}{0-9a-zA-Z[, ]+
,[]}{0-9a-zA-Z, []+
,[]0-9a-zA-Z[, {}]+
,[]0-9a-zA-Z, {}[]+
都可以。
中括號中的 ]
在前,[
在後,即 ][
大括號 {
}
先後沒有關係。
$ echo "new byte[]{6, 55, 73, 72, 0, 0x60, 0x77}" | grep -Eo "[][}{0-9a-zA-Z, ]+" new byte[]{6, 55, 73, 72, 0, 0x60, 0x77} (這一行是匹配的結果) $ echo "new byte[]{6, 55, 73, 72, 0, 0x60, 0x77}" | grep -Eo "[][{}0-9a-zA-Z, ]+" new byte[]{6, 55, 73, 72, 0, 0x60, 0x77} (這一行是匹配的結果) $ echo "new byte[]{6, 55, 73, 72, 0, 0x60, 0x77}" | grep -Eo "[]}{0-9a-zA-Z[, ]+" new byte[]{6, 55, 73, 72, 0, 0x60, 0x77}
(1)匹配字元組中的中括號時(中括號裡的中括號),]
需要在最前面,[
的位置可以放在中間或者最後面。
(2)用 [
或者 [[
都可以匹配左中括號。
(3)匹配字元組中的大括號,此時大括號沒有特殊含義,所以 {
}
的位置可以隨意一些(但不要破壞其他區間)。
https://stackoverflow.com/questions/30044199/how-can-i-match-square-bracket-in-regex-with-grep
[…] If a bracket expression specifies both ‘-’ and ‘]’, the ‘]’ shall be placed first (after the ‘^’, if any) and the ‘-’ last within the bracket expression.
Therefore, your regex should be:echo "fdsl[]" | grep -Eo "[][ a-z]+"
到此這篇關於grep正規表示式匹配中括號的文章就介紹到這了,更多相關grep正則匹配中括號內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45