shell正則匹配捕獲引用進行IP匹配
在伺服器上加了一個服務檢測機制,用到正則來匹配IP和捕獲分組。 和其他語言一樣也可以使用正則分組捕獲,不過不能使用 $1或1這樣的形式來捕獲分組,可以透過陣列${BASH_REMATCH}來獲得,如${BASH_REMATCH[1]},${BASH_REMATCH[N]}
簡單的測試如下所示:
#!/bin/bash ip="121.0.2.2" if [[ $ip =~ ^([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5]).([0-9]{1,2}|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$ ]];then echo "match" echo ${BASH_REMATCH[1]} echo ${BASH_REMATCH[2]} echo ${BASH_REMATCH[3]} echo ${BASH_REMATCH[4]} else echo "Not match" fi
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2949679/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 正則匹配的捕獲組
- Logstash之Grok正則匹配,讓正則進階!
- 正則匹配規則2
- PHP 正則匹配中文PHP
- 正則匹配數字
- Python正則匹配中文Python
- grep 多行 正則匹配
- 正則匹配規則記錄
- python的re正則匹配Python
- Laravel redis 正則匹配keysLaravelRedis
- Java使用正則獲取字串中匹配欄位Java字串
- 正規表示式-非捕獲匹配,正向預查,反向預查
- apisix~路由字首的正則匹配API路由
- java中url正則regex匹配Java
- 正則匹配方法及示例
- Linux 中 grep -P 選項 perl正則 限制兩側進行匹配Linux
- 正則表達選擇分組向後引用及捕獲和非捕獲分組(五)(1000則)
- Java處理正則匹配卡死(正則回溯問題)Java
- 正則匹配開頭和結尾
- php正則匹配所有違規字元PHP字元
- 正則匹配之零寬斷言
- 正則匹配指定字元之前的字串字元字串
- VIM-灰常有用的正則匹配
- python正則一些簡單匹配Python
- 小技巧系列:正則匹配img標籤
- js Abba逆向前瞻正則匹配例項JS
- 正則表示匹配手機IMEI機身碼
- js正則全域性匹配引發的血案JS
- MySQL全面瓦解8:查詢的正則匹配MySql
- js中split之正則運用(模式匹配)JS模式
- 探究js正則匹配方法:match和execJS
- php 正則如何匹配手機號碼呢?PHP
- 正則匹配身份證有bug你知道麼?
- 學習筆記——正則匹配方法整理筆記
- 隨手查閱的正則匹配筆記筆記
- 關於正則位置匹配(斷言)的技巧
- Python學習手冊之捕獲組和特殊匹配字串Python字串
- 匹配ip-v4正規表示式程式碼