1、
去除xml或者類似檔案的頭部資訊
string text = File.ReadAllText("E:\\AA.xml").Replace("\r\n","");text = Regex.Replace(text, @"<!-- *.* -->","", RegexOptions.IgnoreCase);
功能:
將AA.xml檔案中的斷行符號、換行替換為“”,將<!-- *.* -->替換為“”。
IgnoreCase(忽略大小寫)匹配時不區分大小寫。
ReadAllText開啟一個文字檔,讀取檔案的所有行,然後關閉該檔案。
public static string ReadAllText(string path)path 類型:System.String 要開啟以進行讀取的檔案。傳回值 類型:System.String 包含檔案所有行的字串。public static string Replace (string input, // 要修改的字串string pattern, //要匹配的Regex模式string replacement, //替換字串RegexOptions options //RegexOption 枚舉值的按位“或”組合) // 返回已修改的字串
如果想看Replace函數詳細代碼資訊的話,用 Reflector或者ILSpy 開啟System.dll ,在 System.Text.RegularExpressions 命名空間中找到 Regex 類,即可。
2、驗證身份證資訊
string reg = "^[0-9]{15,16}$";
小註:
^ 匹配字串的開始
[…] 匹配[]內所列出的所有字元
{n,m} 匹配前面的字元n到m次
$ 匹配字串的結束
3、驗證首頁,網址
Regex.IsMatch(str, @"^(http://){0,1}www.(\w)+.(com|net|org|com.cn|net.cn|org.cn|gov.cn|info|biz|tv|cc|cn)$");
小註:
其中str為待驗證的首頁或者網址
^ 匹配字串的開始
( 和 ) 標記一個子運算式的開始和結束位置。子運算式可以擷取供以後使用。要匹配這些字元,請使用 \( 和 \)。
{n,m} 匹配前面的字元n到m次
/w 匹配字母或數字或底線或漢字
+ 重複一次或更多次
() 表示操作的範圍和優先度, 如 "gr(a|e)y" 可以匹配 gray 或 grey.
| 表示選擇符號,"gray|grey"可匹配 gray 或 grey.
$ 匹配字串的結束
4、檢查文本或者字串首位是否是數字
//匹配的Regex,去掉@不影響效果Regex r = new Regex(@"^[0-9]");
小註:
像[0-9] 代表的含意與/d 就是完全一致的
5、驗證郵編
string reg = "^[0-9]{6}$";
小註:
{n} 匹配前面的字元n次
6、驗證郵箱
string reg = "^[a-zA-Z][a-zA-Z0-9._]*@[a-zA-Z0-9.]+[.]+[a-zA-Z0-9]+$";
小註:
^ 匹配字串的開始
“@”表示,跟在它後面的字串是個“逐字字串”,不是很好理解,舉個例子,以下兩個聲明是等效的:
string x="D:\\My Huang\\My Doc";string y = @"D:\My Huang\My Doc";
事實上,如果按如下聲明,C#將會報錯,因為“\”在C#中用於實現轉義,如“\n”換行:
string x = "D:\My Huang\My Doc";
* 表示前面的字元要出現0次,1次,乃至多次,上面沒有封頂, 下面保底是0次,可以不出現。
. 匹配除分行符號以外的任一字元
+ 重複一次或更多次
$ 匹配字串的結束
7、匹配整數
System.Text.RegularExpressions.Regex.IsMatch(str, @"^-?\d+$")
小註:
其中str為待驗證的string類型變數
^ 匹配字串的開始
? 重複零次或一次
-? 重複零次或一次-
/d 匹配數字
+ 重複一次或更多次
\d+ 重複一次或更多次數字
$ 匹配字串的結束
或者:
^-?[1-9]\d*$
8、檢測string字串中有哪些數字
9、 取出兩個__之間的部分
result = Regex.Match(abstractObjectEntity.Name, "(?<=_).*?(?=_)").Value;
參考:點擊開啟連結
10、
以上就是一些用到過的Regex的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!