Regex Match 方法 中應該注意的幾個問題

2021-04-01 22:27:12 字數 1897 閱讀 6737

一、概述

regex.match 方法

在輸入字串中搜尋正規表示式的匹配項,並將精確結果作為單個 match 物件返回。

過載列表

(1) 在指定的輸入字串中搜尋 regex 建構函式中指定的正規表示式匹配項。

[c#] public match match(string);

(2) 從指定的輸入字串起始位置開始在輸入字串中搜尋正規表示式匹配項。

[c#] public match match(string, int);

(3) 在指定的輸入字串中搜尋 pattern 引數中提供的正規表示式的匹配項。

[c#] public static match match(string, string);

(4)   從指定的輸入字串起始位置開始在輸入字串中搜尋具有指定輸入字串長度的正規表示式匹配項。

[c#] public match match(string, int, int);

(5)    在輸入字串中搜尋 pattern 引數中提供的正規表示式的匹配項(匹配選項在 options 引數中提供)。

[c#] public static match match(string, string, regexoptions);

二、應用舉例

1.下面的**是為了取出網頁中的title屬性

match titlematch = regex.match(filecontents, "([^<]*)", regexoptions.ignorecase | regexoptions.multiline );

filetitle = titlematch.groups[1].value;

注意紅色的1,

regex.match方法得到的groups的索引是從1開始的,而不是從0開始的

2. 下面的**是為了取出網頁頭部的"content"屬性

match descriptionmatch = regex.match( filecontents, "", regexoptions.ignorecase | regexoptions.multiline );

filedesc = descriptionmatch.groups[1].value;

3. 下面的**用來分解乙個字串

string text = "one car red car blue car";

string pat = @"(/w+)/s+(car)";

// compile the regular expression.

regex r = new regex(pat, regexoptions.ignorecase);

// match the regular expression pattern against a text string.

match m = r.match(text);

int matchcount = 0;

while (m.success)

}m = m.nextmatch();

}執行結果如下:

match1

group1='one'

capture0='one', position=0

group2='car'

capture0='car', position=4

match2

group1='red'

capture0='red', position=8

group2='car'

capture0='car', position=12

match3

group1='blue'

capture0='blue', position=16

group2='car'

capture0='car', position=21

Regex Match 方法 中應該注意的幾個問題

一 概述 regex.match 方法 在輸入字串中搜尋正規表示式的匹配項,並將精確結果作為單個 match 物件返回。過載列表 1 在指定的輸入字串中搜尋 regex 建構函式中指定的正規表示式匹配項。c public match match string 2 從指定的輸入字串起始位置開始在輸入字...

GDB中應該知道的幾個除錯方法

七 八年前寫過一篇 用gdb除錯程式 於是,從那以後,很多朋友在msn上以及給我發郵件詢問我關於gdb的問題,一直到今天,還有人在問gdb的相關問題。這麼多年來,有一些問題是大家反覆在問的,一方面,我覺得我以前的文章可能沒有說清楚,另一方面,我覺得大家常問的問題正是最有用的,所以,在這裡羅列出來。希...

GDB中應該知道的幾個除錯方法

七 八年前寫過一篇 用gdb除錯程式 於是,從那以後,很多朋友在msn上以及給我發郵件詢問我關於gdb的問題,一直到今天,還有人在問gdb的相關問題。這麼多年來,有一些問題是大家反覆在問的,一方面,我覺得我以前的文章可能沒有說清楚,另一方面,我覺得大家常問的問題正是最有用的,所以,在這裡羅列出來。希...