xxxTxxx
或匹配字符
xxxTxx
或
xxxTx
我想所有 X的結尾。
(.*)(x$)
只會給我最後的x。 (.*)(x*$)
將不起作用,因爲它不匹配結束。我需要使用一些神奇的背後,對吧?
謝謝你的正則表達式頭!
xxxTxxx
或匹配字符
xxxTxx
或
xxxTx
我想所有 X的結尾。
(.*)(x$)
只會給我最後的x。 (.*)(x*$)
將不起作用,因爲它不匹配結束。我需要使用一些神奇的背後,對吧?
謝謝你的正則表達式頭!
如何:
^(.*?)(x+)$
你必須在組2 x和所有這些都是之前在組1
它會一直是'T'嗎?
在這種情況下:
T(x*)$
或許的T可能是除了 'X' 任何東西:
[^x](x*)$
編輯:
其實:
(x*)$
。 ..足夠了。它會貪婪地消費'x's。如果在'x'運行結束時發現字符串的末尾,那就是匹配。否則它會丟棄它們並開始嘗試重新匹配。
嘗試使用此模式:使用RegexOptions.RightToLeft
你會確保你開始尋找字符串的結尾。
string text = "xxxTxxx";
string pattern = @"x+";
Regex r = new Regex(pattern, RegexOptions.RightToLeft);
string temp = r.Match(text).Value;
輸出將是:
「XXX」
如果你想以確保是在文本的末尾,使用此:
string text = "xxxTxxx&";
string pattern = @"x+$";
Regex r = new Regex(pattern, RegexOptions.RightToLeft);
string temp = r.Match(text).Value;
在這種情況下的輸出將是:
「」
你怎麼知道他在使用.NET?據我所知,這是唯一提供從右到左匹配選項的正則表達式。 –
嗨艾倫!是的,你是對的,我不知道!但是他怎麼沒有指定語言,我用我知道的語言來回答;)如果他使用.NET,也許可能對他有用,如果不是的話......那麼它不會! –
如果你只是想在x
s的結束,你可以使用:
/(x+)$/
這基本上說來看看字符串的結尾至少一個X,並找到儘可能多的。
如果你希望所有x
s的開始,你可以使用:
/^(x+)/
這做同樣的事情,但告訴它看字符串的開頭。
如果我在x之前還想要一切,該怎麼辦? –
我會補充一點。一會兒。 – Anonymous
我假設「T」是一個佔位符,而不是保證在那裏,對嗎? – ChicagoRedSox