程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> C#正則表達式的使用

C#正則表達式的使用

編輯:C#基礎知識
一 、正則表達式概念

正則表達式是一種用來描述和操作文本的強大語言。正則表達式主要用於字符串,即一組字符。說白了就是對一堆字符的處理,包括搜索,改變等。

二、正則表達式字符的整理

基本的語法字符:
/d 0-9的數字
/D /d的補集(以所以字符為全集,下同),即所有非數字的字符
/w 單詞字符,指大小寫字母、0-9的數字、下劃線
/W /w的補集
/s 空白字符,包括換行符/n、回車符/r、制表符/t、垂直制表符/v、換頁符/f
/S /s的補集
. 除換行符/n外的任意字符
[…] 匹配[]內所列出的所有字符
[^…] 匹配非[]內所列出的字符

定位字符 :
“定位字符”所代表的是一個虛的字符,它代表一個位置,你也可以直觀地認為“定位字符”所代表的是某個字符與字符間的那個微小間隙。
^ 表示其後的字符必須位於字符串的開始處
$ 表示其前面的字符必須位於字符串的結束處
/b 匹配一個單詞的邊界
/B 匹配一個非單詞的邊界
另外,還包括:/A 前面的字符必須位於字符處的開始處,/z 前面的字符必須位於字符串的結束處,/Z 前面的字符必須位於字符串的結束處,或者位於換行符前

重復描述字符
“重復描述字符”是體現C#正則表達式“很好很強大”的地方之一:
{n} 匹配前面的字符n次
{n,} 匹配前面的字符n次或多於n次
{n,m} 匹配前面的字符n到m次
? 匹配前面的字符0或1次
+ 匹配前面的字符1次或多於1次
* 匹配前面的字符0次或式於0次

正則表達式修飾符

i :如果在修飾符中加上"i",則正則將會取消大小寫敏感性,即"a"和"A" 是一樣的。
m:默認的正則開始"^"和結束"$"只是對於正則字符串如果在修飾符中加上"m",那麼開始和結束將會指字符串的每一行:每一行的開頭就是"^",結尾就是"$"。
s:如果在修飾符中加入"s",那麼默認的"."代表除了換行符以外的任何字符將會變成任意字符,也就是包括換行符!
x:如果加上該修飾符,表達式中的空白字符將會被忽略,除非它已經被轉義。
e:本修飾符僅僅對於replacement有用,代表在replacement中作為PHP代碼。
A:如果使用這個修飾符,那麼表達式必須是匹配的字符串中的開頭部分。比如說"/a/A"匹配"abcd"。
E:與"m"相反,如果使用這個修飾符,那麼"$"將匹配絕對字符串的結尾,而不是換行符前面,默認就打開了這個模式。
U:和問號的作用差不多,用於設置"貪婪模式"。

擇一匹配
C#正則表達式中的 (|) 符號似乎沒有一個專門的稱謂,姑且稱之為“擇一匹配”吧。事實上,像[a-z]也是一種擇一匹配,只不過它只能匹配單個字符,而(|)則提供了更大的范圍,(ab|xy)表示匹配ab或匹配xy。注意“|”與“()”在此是一個整體。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved