正規表示式

2021-09-20 17:00:08 字數 1490 閱讀 7499

正規表示式分類

基本的正則表倒是,又叫basic regex

擴充套件的正規表示式,又叫extended regex

perl

的正規表示式,又叫perl regex

基本組成部分:

\ 轉義符,將特殊字元進行轉義,忽略其特殊意義。a\.b匹配a.b,但不能匹配ajb,被轉義為特殊意義

\n表示換行,\r表示回車,\t表示水平的製表符,\v表示垂直的製表符,\b表示後退符,\a表示警告,0xx翻譯成ascii碼為八進位制0xx鎖表示的字元

^匹配行首,awk中,^則是匹配字元創的開始,^匹配以tux開頭的行

$匹配行尾,awk中,則是匹配字串的結尾

.匹配除換行符\n之外的任意單個字元,awk則中可以。ab.匹配abc或bad,不可匹配adcd或abde,只能匹配單字元

匹配包含在[^字元之外的任意乙個字元],123[^45]不可以匹配1234或1235,1236.1237都可以

[-]匹配中指定範圍內的任意乙個字元,要寫成遞增,[0-9]可以匹配1,2或3等其中任意乙個數字

?匹配之前的項1次或者0次,colou?r可以匹配colour或者colour或者colour,不能匹配colouur

+匹配之前的項1次或者0次,sa-6+匹配sa-6,sa-666,不能匹配sa-

*匹配之前的想0次或多次,co*l,匹配cl,col,cool,cool等

()匹配表示式,建立乙個用於匹配的子串。

配置之前的項n次,n是可以為0的正整數。

之前的項至少需要匹配n次,[0-9]匹配任意乙個兩位數或更多位數

[n,m]指定之前的想至少匹配n次,最多匹配m次,n<=m,[0-9]匹配從兩位數到五位數之間的任意乙個數字

|交替匹配|兩邊的任意一項ab(c|d)匹配abc或adb

posix字元類

posix字元類是乙個形如[:...:]的特殊元序列(meta sequence),他可以用於匹配特定的字元範圍

[:alnum:]匹配人乙個乙個字母或數字字元,[[:alnum:]]+

[:alpha:]匹配任意乙個字母字元(包括大小寫),[[:alpha:]]

[:blank:]空格與製表符(橫向和縱向),[[:blank:]]*

[:digit:]匹配熱乙個數字字元,[[:digit:]]?

[:lower:]匹配小寫字母,[[:lower:]]

[:upper:]匹配大寫字母,([[:upper:]]+)?

[:punct:]匹配標點符號,[[:punct:]]

[:space:]匹配乙個包括換行符,回車等在內的所有空白符,[[:space:]]+

[:graph:]匹配任何乙個可以看得見的且可以列印的字元,[[:graph:]]

[:xdigit:]任何乙個十六進製制數(即:0-9,a-f,a-f)

[:cntrl:]任何乙個控制字元(ascii字符集中的前32個字元),[[:cntrl:]]

[:print:]任何乙個可以列印的字元,[[:print:]]

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...