ismaych 我列舉的其中的一種
public static void runismatch()
string inputstring = "welcome to the publishers, wrox pree ltd";
if (regex.ismatch(inputstring, "wrox pree", regexoptions.ignorecase))//匹配在inputstring是否存在wrox pree,大小寫忽略
console.writeline("match found");
else
console.writeline("no match found");
#region replce() 的用法
public static void runreplce()
string input = "welcome to the publishers, wrox pree ltd";
input = regex.replace(input,"wrox pree","wrox pree");
console.writeline(input);
string inputstring = "123,456,123,123,789,123,888";
regex regexp = new regex("123");
inputstring = regexp.replace(inputstring, "***", 2, 4);//4表示從第4個開始,2表示為最多替換兩次
console.writeline(inputstring);
#endregion
#region 正規表示式中split ()的用法
public static void runsplit()
string inputstring = "123, abc,456,def,789";
string splitresults;
splitresults = regex.split(inputstring,", |,");//拆分,以逗號或(逗號和空格組合的)
stringbuilder resultbulider = new stringbuilder(32);
console.writeline(splitresults.length);
foreach (string stringelement in splitresults)
resultbulider.appendformat(":
","af",stringelement);
console.writeline(resultbulider.tostring());
#endregion
///
/// 匹配在字串裡都是數字
///
/// 要匹配的字串的格式
/// 要匹配的字串
/// 在輸入字串中開始搜尋的字元位置。
/// 子字串中包含在搜尋中的字元數。
public void runmatch(string regexstring,string input, int beginning, int length)
regex myregex = new regex(regexstring);
match matchmade = myregex.match(input, beginning, length);
if (matchmade.length != length)
console.write("-匹配不成功
", beginning + 1, length);
else
console.writeline("-匹配成功
", beginning + 1, length);
#region 在整個字串中,有其中一些匹配成功就行了,用matchmade.success
while (matchmade.success)
console.write(matchmade.value);
matchmade = matchmade.nextmatch();
#endregion
matchregular matchreg = new matchregular();
string input = "123,456";
string regexstring = @"d+";//匹配0-9的數乙個或更多
matchreg.runmatch(regexstring,input, 0, 4);
#region groups和capture的用法
public static void rungroups()
string string1 = "04:03:27 127.0.0.1 libertyassociates lily";
regex thereg = new regex(@"(?(d|:)+)s" + @"(?(d|.)+)s" + @"(?(s+)s)" + @"(?(s+))");
//我用相同的組site,這裡會產生乙個問題,後面的組會覆蓋前面的組。
matchcollection thematches = thereg.matches(string1);
foreach (match thematch in thematches)
if (thematch.length != 0)
console.writeline("
thematch:", thematch.tostring());
console.writeline("time:", thematch.groups["time"]);
console.writeline("ip:", thematch.groups["ip"]);
console.writeline("site:", thematch.groups["site"]); //輸出lily
console.writeline("site:", thematch.groups["site"]); //輸出lily
foreach (capture cap in thematch.groups[
C 正規表示式
c 中的正規表示式 1 c 中的正規表示式 jeffrey e.f.friedl寫了一本關於正規表示式的書 精通正規表示式 作者為了使讀者更好的理解和掌握正規表示式,編造了乙個故事。該書的語言以perl為主。據我所知c 中的正規表示式也是基於perl5。所以它們應該有許多的共同之處。其實,我並不打算...
C 正規表示式
正規表示式 元字元 匹配任何單個字元,匹配括號內的任何乙個字元,改變優先順序,定義提取組,將兩個匹配條件進行邏輯或運算,匹配0至多個它之前的子表示式,和萬用字元 沒關係,匹配前面的子表示式一次或多次,匹配前面的子表示式零次或一次,匹配前面表示式確定的n次,匹配前面表示式至少n次,匹配前面表示式n到m...
C 正規表示式
正規表示式元字元 1 中括號 用來描述匹配規則,乙個中括號只能匹配乙個字元 2 小括號 用來描述匹配的字串,乙個小括號表示匹配一段字串 3 大括號 用來描述匹配的具體數量 4 s 用於匹配單個空格符,包括tab鍵和換行符 5 s 用於匹配除單個空格符之外的所有字元 6 d 用於匹配從0到9的數字 7...