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
- Java使用正則獲取字串中匹配欄位Java字串
- Laravel redis 正則匹配keysLaravelRedis
- 正則匹配方法及示例
- 07 nginx Location之正則匹配Nginx
- python的re正則匹配Python
- Java處理正則匹配卡死(正則回溯問題)Java
- Linux 中 grep -P 選項 perl正則 限制兩側進行匹配Linux
- java中url正則regex匹配Java
- php正則匹配所有違規字元PHP字元
- Linux篇---Grep和正則匹配Linux
- 正則匹配指定字元之前的字串字元字串
- oracle10g的正則規則匹配Oracle
- iOS擷取特定的字串(正則匹配)iOS字串
- phputf-8編碼正則匹配中文PHP
- VIM-灰常有用的正則匹配
- 8,以正規表示式進行匹配(perl筆記)筆記
- 學習筆記——正則匹配方法整理筆記
- 探究js正則匹配方法:match和execJS
- js中split之正則運用(模式匹配)JS模式
- 隨手查閱的正則匹配筆記筆記
- python正則一些簡單匹配Python
- php 正則如何匹配手機號碼呢?PHP
- MySQL全面瓦解8:查詢的正則匹配MySql
- js正則全域性匹配引發的血案JS
- js Abba逆向前瞻正則匹配例項JS
- PHP 正則 preg_match 匹配長度限制PHP
- php正則匹配到字串裡面的a標籤PHP字串
- 線上快速匹配IP
- 匹配ip-v4正規表示式程式碼
- 匹配ip-v6正規表示式程式碼
- 匹配統一社會信用程式碼的正則
- Go語言中使用正則提取匹配的字串Go字串
- 正則匹配閉合HTML標籤(支援巢狀)HTML巢狀
- JS 正則中的命名捕獲分組JS