與正則相關的一切 (一)基礎知識

2021-07-05 12:22:45 字數 2507 閱讀 5579

\將下一字元標記為特殊字元、文字、反向引用或八進位制轉義符。

^匹配輸入字串開始的位置。

$匹配輸入字串結尾的位置。

*零次或多次匹配前面的字元或子表示式。例如,zo* 匹配「z」和「zoo」。* 等效於 。

+一次或多次匹配前面的字元或子表示式。例如,「zo+」與「zo」和「zoo」匹配,但與「z」不匹配。+ 等效於 。

?零次或一次匹配前面的字元或子表示式。例如,「do(es)?」匹配「do」或「does」中的「do」。? 等效於 。

.匹配除「\n」之外的任何單個字元。若要匹配包括「\n」在內的任意字元,請使用諸如「[\s\s]」之類的模式。

n 是非負整數。正好匹配 n次。例如,「o」與「bob」中的「o」不匹配,但與「food」中的兩個「o」匹配。

n 是非負整數。至少匹配 n次。例如,「o」不匹配「bob」中的「o」,而匹配「foooood」中的所有 o。「o」等效於「o+」。「o」等效於「o*」。

m 和 n 是非負整數,其中 n <= m。匹配至少 n 次,至多 m 次。例如,「o」匹配「fooooood」中的頭三個 o。'o' 等效於 'o?'。注意:您不能將空格插入逗號和數字之間。

x|y匹配 x 或 y。例如,'z|food' 匹配「z」或「food」。'(z|f)ood' 匹配「zood」或「food」。

[xyz]字符集。匹配包含的任一字元。例如,「[abc]」匹配「plain」中的「a」。

[^xyz]反向字符集。匹配未包含的任何字元。例如,「[^abc]」匹配「plain」中的「p」。

[a-z]字元範圍。匹配指定範圍內的任何字元。例如,「[a-z]」匹配「a」到「z」範圍內的任何小寫字母。

[^a-z]反向範圍字元。匹配不在指定的範圍內的任何字元。例如,「[^a-z]」匹配任何不在「a」到「z」範圍內的任何字元。

\b匹配乙個字邊界,即字與空格間的位置。例如,「er\b」匹配「never」中的「er」,但不匹配「verb」中的「er」。

\b非字邊界匹配。「er\b」匹配「verb」中的「er」,但不匹配「never」中的「er」。

\cx匹配 x 指示的控制字元。例如,\cm 匹配 control-m 或回車符。x 的值必須在 a-z 或 a-z 之間。如果不是這樣,則假定 c 就是「c」字元本身。

\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_]」等效。

整數或者小數:^[0-9]+\.[0-9]$

數字:"^[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"*$。

長度為3的字元:"^.$"。

由26個英文本母組成的字串:"^[a-za-z]+$"。

由26個大寫英文本母組成的字串:"^[a-z]+$"。

由26個小寫英文本母組成的字串:"^[a-z]+$"。

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

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

漢字:"^[\u4e00-\u9fa5]$"

**號碼:"^(\(\d-)|\d-)?\d$"。

身份證號(15位或18位數字):"^\d|\d$"。

一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。

乙個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。

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

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

html標籤的正規表示式:<(.*)>(.*)<\/(.*)>|<(.*)\/>

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

C 基礎知識 關於預設建構函式的一切

c 條款 關於預設建構函式的一切 預設建構函式 defaultconstructor 預設建構函式是在未提供顯示初始值時,用來建立物件的建構函式。如果沒有提供任何建構函式,則c 將自動提供預設建構函式,預設建構函式沒有引數,因為宣告中不包含值。同時,當且僅當沒有定義建構函式時,編譯器才會提供預設建構...

西方的一切

有這樣一種說法,五個猶太人改變了西方世界。第一位是摩西,他說一切都是律法 第二位是耶穌,他說一切都是苦難 第三位是馬克思,他說一切都是資本 第四位是弗洛伊德,他說一切都是性 第五位是愛因斯坦,他說一切都是相對的。摩西是西元前1300年的猶太人先知,舊約聖經前五本書的執筆者,摩西替上帝頒布 十誡 至今...

一切的開始

實習第三天。實習,意味著工作的開始,沒有了學校期間的無拘無束,自由散漫。也許,我就是這麼乙個適合被管理的人,反而覺得有了在學校裡很久沒有的充實感。一天的要求的7個小時,而實際從早上到天黑。只是因為覺得自己拉下了很多東西,有很多東西要去學習。相比在學校開一局遊戲之後根本停不下來的遊戲,還有遊戲之後的空...