Flex 正規表示式

2021-09-09 01:20:49 字數 3743 閱讀 1385

1.基本語法

. 匹配除換行符"\n"外的任意單個字元。

* 匹配前面flex正規表示式的零次或多次出現。

eg:alert.show("thisbookisgoodboooookboxbx.".replace(/bo*/g,"coo")) 

thiscookisgoodcookcooxcoox

+  匹配前面flex正規表示式的一次或多次出現。

eg:alert.show("thisbookisgoodboooookboxbx.".replace(/bo+/g,"coo"))

thiscookisgoodcookcooxbx

?  代表出現在它之前的專案有或沒有均可。

eg:alert.show("thisbookisgoodbook".replace(/g?oo/g,"coo"));

thisbcookiscoodbcook.

{} 根據括號內的不同而不同。單個數字意味著前面的模式重複n次,如:[a-z];表示重複n1-n2次;指示用名字替換。

eg:在它之前出現的專案必須重複n次,在它之前出現的專案至少重複n次,在它出現之前的專案重複n次到m次

alert.show("thisbookidgoodboooooookbok".replace(/bok/g,"_"));

thisbookidgood_bok

() 將一系列flex正規表示式歸組。"*"、"+"和"{}"中的每個都直接作用於它左側的表示式,而"|"通常影響左側表示式和右側的所有內容。

eg:把字串組成乙個組,要求a後面可以出現0次或者多次字串go的重複

alert.show(agogoisanameago'sfather".replace(/a(go)*/g,"_"));

_is_name_'sfather

匹配括號中字元的任意乙個。用"-"指示字元的範圍。如果第乙個字元是抑揚符號"^",那麼它的含義變為匹配括號內字元以外援任意字元,及表反義。

eg1:alert.show("我的book**是45元".replace(/[^0-9a-z]/g,"*"));

***ook***45*

eg2:alert.show(agogoisaonameago'sfather".replace(/a[go]/g,"_"));

_                       ogois_name_o'sfather

\ 如果後面是小寫字母,就是c轉義序列,否則引用後面的字元。

"..." 匹配引號內的內容

/ 只有當有後面的表示式跟隨時才匹配前面的表示式.

^ flex正規表示式的第乙個字元,它匹配行的開始;在方括號中用於否定,其它方面沒有特殊情況

alert.show("abaef\nabsd\nabffd".replace(/^ab/gm,"你好"));

你好aef

你好sd

你好ffd

$  flex正規表示式的最後乙個字元,它匹配行的結尾-其他方面沒有特殊情況。

<> 位於模式開頭的尖括號內的乙個或一列使那個模式只應用於指定的起始狀態。

<> 在flex中,這個特殊的模式<>匹配檔案的結尾。

\b  匹配乙個單詞邊界,也就是指單詞和空格間的位置。

\b  匹配非單詞邊界。

\cx 匹配由x指明的控制字元。

\d  匹配乙個數字字元。等價於[0-9]。

\d  匹配乙個非數字字元。等價於[^0-9]。

\f  匹配乙個換頁符。等價於\x0c和\cl。

\n  匹配乙個換行符。等價於\x0a和\cj。

\r  匹配乙個回車符。等價於\x0d和\cm。

\s  匹配任何空白字元,包括空格、製表符、換頁符等等。等價於[\f\n\r\t\v]。

\s  匹配任何非空白字元。等價於[^\f\n\r\t\v]。

\t  匹配乙個製表符。等價於\x09和\ci。

\v  匹配乙個垂直製表符。等價於\x0b和\ck。

\w  匹配包括下劃線的任何單詞字元。等價於』[a-za-z0-9_]』。

\w  匹配任何非單詞字元。等價於』[^a-za-z0-9_]』。

\xn 匹配n,其中n為十六進製制轉義值。十六進製制轉義值必須為確定的兩個數字長。

\num匹配num,其中num是乙個正整數。對所獲取的匹配的引用。

\n  標識乙個八進位制轉義值或乙個後向引用。如果\n之前至少n個獲取的子表示式,則n為後向引用。否則,如果n為八進位制數字(0-7),則n為乙個八進位制轉義值。

\nm 標識乙個八進位制轉義值或乙個後向引用。如果\nm之前至少有isprecededbyatleastnm個獲取得子表示式,則nm為後向引用。如果\nm之前至少有n個獲取,

則n為乙個後跟文字m的後向引用。如果前面的條件都不滿足,若n和m均為八進位制數字(0-7),則\nm將匹配八進位制轉義值nm。

2.語法延伸

^\d+$//匹配非負整數(正整數+0)

^[0-9]*[1-9][0-9]*$//匹配正整數

^((-\d+)|(0+))$//匹配非正整數(負整數+0)

^-[0-9]*[1-9][0-9]*$//匹配負整數

^-?\d+$//匹配整數

^\d+(\.\d+)?$//匹配非負浮點數(正浮點數+0)

^(([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+)?))$//匹配非正浮點數(負浮點數+0)

^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$//匹配負浮點數

^(-?\d+)(\.\d+)?$//匹配浮點數

^[a-za-z]+$//匹配由26個英文本母組成的字串

^[a-z]+$//匹配由26個英文本母的大寫組成的字串

^[a-z]+$//匹配由26個英文本母的小寫組成的字串

^[a-za-z0-9]+$//匹配由數字和26個英文本母組成的字串

^\w+$//匹配由數字、26個英文本母或者下劃線組成的字串

^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$//匹配email位址

^[a-za-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$ 

^(\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|1\d\d|2[0-4]\d|25[0-5])$//匹配ip 

匹配url匹配中文字元的flex正規表示式:[\u4e00-\u9fa5]

匹配雙位元組字元(包括漢字在內):[^\x00-\xff]

匹配空行的flex正規表示式:\n[\s|]*\r

匹配html標記的flex正規表示式:/<(.*)>.*<\/>|<(.*)\/>/

匹配首尾空格的flex正規表示式:(^\s*)|(\s*$)

匹配email位址的flex正規表示式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配**url的flex正規表示式:^[a-za-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$

匹配帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線):^[a-za-z][a-za-z0-9_]$

匹配國內**號碼:(\d-|\d-)?(\d|\d)?

flex正規表示式

驗證數字 0 9 驗證n位的數字 d 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9 0 9 驗證非零的負整數 1 9 0 9 驗證非負整數 正整數...

flex正規表示式

正規表示式是一種通用的標準,大部分計算機語言都支援正規表示式,包括as3,這裡收集了一些常用的正規表示式語句,大家用到的時候就不用自己寫了 d 匹配非負整數 正整數 0 0 9 1 9 0 9 匹配正整數 d 0 匹配非正整數 負整數 0 0 9 1 9 0 9 匹配負整數 d 匹配整數 d d 匹...

Flex常用正規表示式

d 匹配非負整數 正整數 0 0 9 1 9 0 9 匹配正整數 d 0 匹配非正整數 負整數 0 0 9 1 9 0 9 匹配負整數 d 匹配整數 d d 匹配非負浮點數 正浮點數 0 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...