我想捕獲所有內容(不包括)字符串中的#號。 #字符可能存在也可能不存在(如果它不存在,則應該捕獲整個字符串)。C#正則表達式:捕獲所有內容到
什麼RegEx和C#代碼爲此?我試過:([^#] +)(?:#),但它似乎不起作用。
我想捕獲所有內容(不包括)字符串中的#號。 #字符可能存在也可能不存在(如果它不存在,則應該捕獲整個字符串)。C#正則表達式:捕獲所有內容到
什麼RegEx和C#代碼爲此?我試過:([^#] +)(?:#),但它似乎不起作用。
嘗試:
*(=#?)
我認爲應該工作
編輯:
^[^#]*
在代碼:
string match = Regex.Match(input,"^[^#]*").Value;
不是正則表達式,而是嘗試的替代方法。雖然可以使用正則表達式,但對於這種特殊情況我更喜歡這種方法。
string mystring = "DFASDFASFASFASFAF#322323";
int length = (mystring.IndexOf('#') == -1) ? mystring.Length : mystring.IndexOf('#');
string new_mystring = mystring.Substring(0, length);
我更喜歡這個 - 有時候有一個更簡單的解決方案,正則表達式不需要。 – FrustratedWithFormsDesigner 2010-04-05 19:50:19
這對我來說並不簡單...... – 2010-04-05 19:59:04
我認爲它更具可讀性。 – Gabe 2010-04-05 20:12:29
出了什麼問題一樣簡單的東西:
[^#]*
就拿第一場比賽?
並不完全,這將匹配到最後一切#..我想操作希望一切到第一個# – 2010-04-05 19:48:50
@邁克爾佩蒂託:所以......在'*' – Powerlord 2010-04-05 20:19:27
@OMG後面加一個'?'獨角獸,因爲在這種情況下使用懶惰的量詞似乎,懶得! – 2010-04-05 21:18:22