您好,我真的很困擾這個問題;正則表達式模式匹配:僅使用模式的開始和結束進行匹配
我想用正則表達式來匹配模式的中間可以改變的模式的開始和結束。所以我想使用一個正則表達式來匹配不斷的開始,並且不斷的結束任何人都可以幫忙?
例如,該模式的開始是「/>」,並用「ABC」
我使用C#結束。
感謝
您好,我真的很困擾這個問題;正則表達式模式匹配:僅使用模式的開始和結束進行匹配
我想用正則表達式來匹配模式的中間可以改變的模式的開始和結束。所以我想使用一個正則表達式來匹配不斷的開始,並且不斷的結束任何人都可以幫忙?
例如,該模式的開始是「/>」,並用「ABC」
我使用C#結束。
感謝
^abc(.*)xyz$
將匹配寄託都與ABC開始,與XYZ結束。
您正在尋找的關鍵項目是^匹配行的開始和$匹配行的結尾。您可以在模式中使用這些字符來檢查字符串開頭或結尾的特定字符。
有幾種選擇:
比方說你有文字:
<foo/> hello first abc hello second abc <bar/> hello third abc
我將呈現三大正則表達式,它們將匹配的內容:
/\/>.*abc/
將匹配:
/> hello first abc hello second abc <bar/> hello third abc
相反匹配貪婪的,你也可以採取儘量少:
/\/>.*?abc/
這將匹配
/> hello first abc
/> hello third abc
但也許你想匹配的貪婪,而不是當一個標籤被打開之間,比你可以爲實例來:
/\/>[^<]*abc/
這WIL比賽
/> hello first abc hello second abc
/> hello third abc
如果您更加清晰地明確你想要什麼,我能更清楚地說明我的回答。)
我試圖添加代碼註釋,但它變得非常混亂。我已經厭倦了實現你上面顯示的內容,但是我無法使它工作,請你看看。 string pattern = @「/ \ /> [^ <] * abc /」; – user101010101 2011-03-02 14:21:07
我註釋了事實上的標準語法,斜槓之間。 Perl和類似的工具就是這樣做的。在C#中,它只是一個字符串,並且不需要前導斜槓和尾部斜槓,也不需要轉義斜槓,因此它將變成:string pattern = @「/> [^ <] * abc」; – markijbema 2011-03-02 14:35:53
^\/\u003E.*?abc$.
這將匹配字符串開頭「/>」,並以「ABC」,如結束「/> XYZABC 「
請提供樣品。 – 2011-03-02 11:09:48
...請詳細描述開始/結束可能看起來像什麼(字母,數字,標點符號...)以及允許哪些文字介於兩者之間。還請指定是否要在較大的文本中查找*這種模式,或者如果您希望*匹配給定的字符串與正則表達式。 – 2011-03-02 11:28:20
例如,模式的開始是「/>」並以「abc」結尾..... – user101010101 2011-03-02 11:31:48