利用正規表示式匹配IP位址

2021-07-26 08:18:38 字數 1305 閱讀 8121

grep: 根據模式搜尋文字,並將符合模式的文字行顯示出來.

pattern: 文字字元和正規表示式的元字元組合而成匹配條件

grep [optinons] pattern [file...]

-i: 忽略

--color: 模式顯示顏色

-v: 取反,顯示沒有被模式匹配到的行

-o: 只顯示被模式匹配到的字串本身

正規表示式:

元字元:

.: 匹配任意單個字元

: 指定範圍內的任意單個字元

[^]:指定範圍外的任意單個字元

字元集合:[:digit:],[:lower:],[:[:upper:],[:punct:],[:space:],[:alpha:],[:alnum:]

(e.g) grep '[[:digit:]]$' /etc/inittab

匹配次數(預設貪婪模式):

*: 匹配前面任意字元任意次

.*: 匹配任意長度的任意字元

\?: 匹配前面的字元1次或0次

\: 匹配前面的字元至少m次,至多n次

位置錨定:

^: 錨定行首,此字元後面的任意內容必須出現在行首

$: 錨定行尾,此字元前面的任意內容必須出現在行尾

^$: 空白行

\<(或者\b): 其後面的任意字元必須作為單詞首部出現

\>(或者\b): 其前面的任意字元必須作為單詞尾部出現

單詞:r55t是單詞,r::t不是單詞

分組:\(\): \(ab\)* ,將ab看成整體,出現一次或多次

\1: 引用之前出現的第乙個左括號與之對應的右括號匹配到的內容

\2\3

找出/boot/grub/grub.conf檔案中1-255之間的數字;

\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>

ip位址(非精確)

'(\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.)(\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>)'

ip位址(精確到a,b,c)

'\<([1-9]|[1-9][0-9]|1[0-9]|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[1-9][0-9]|1[0-9]|2[0-4][0-9]|25[0-4])\>)\.\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>'

正規表示式匹配ip位址

ipv4的ip位址都是 1 255 0 255 0 255 0 255 的格式 下面給出相對應的正規表示式 1 d 2 0 4 d 25 0 5 1 9 d 1 9 1 d 2 0 4 d 25 0 5 1 9 d d 1 d 2 0 4 d 25 0 5 1 9 d d 1 d 2 0 4 d 2...

python中利用正規表示式匹配ip位址

現在有一道題目,要求利用python中re模組來匹配ip位址,我們應如何著手?首先能想到的是ip位址是數字,正規表示式是如何匹配數字的呢?d或 0 9 對於這個問題,不要一下子上來就寫匹配模式,應該一步步分解,把複雜的問題簡單化 比如ip位址,我們可以總結一下規律 1.它是乙個字串 2.字串內部是由...

使用正規表示式匹配IP位址

ip位址分為4段,以點號分隔。要對ip位址進行匹配,首先要對其進行分析,分成如下部分,分別進行匹配 第一步 位址分析,正則初判 1 0 9 d 進行匹配 2 10 99 1 9 d 進行匹配 2 100 199 1 d d 進行匹配 3 200 249 2 0 4 d 進行匹配 4 250 255 ...