2016-07-28 122 views
-1

我想在開始時排除一個固定的字符串,這樣我只能得到固定字符串後面的數字。正則表達式排除在字符串開頭的字符串

固定字符串是RE163,所以這裏有一些例子與預期的結果:

Example  Result 
RE16310000 10000 
RE16312345 12345 
RE16316300 16300 

我已經試過以下的正則表達式:

它適用於這些例子:

RE16310000 10000 
RE16319999 19999 

但不適合:

RE16320000 320000 (Expected 20000) 
RE16316320 320  (Expected 16320) 
+5

*我已經嘗試了以下正則表達式*。我看不到任何正則表達式! –

+2

爲什麼不只是'myString = myString.Remove(「RE163」)'? –

+0

我添加了一個.NET標記,因爲正則表達式解決方案應該適用於.NET正則表達式。 –

回答

4

爲什麼正則表達式?只是Substring是不夠的:

string source = "RE16310000"; 

string result = source.Substring(5); 

如果你必須使用正則表達式,你可以嘗試

(?<=RE163)[0-9]+$ 

模式; C#例如:

string pattern = @"(?<=RE163)[0-9]+$"; 

string result = Regex.Match(source, pattern).Value; 
+0

抱歉,這是電子文件格式。所以我不能只使用C#正則表達式來過濾一行 – Lou

+0

@Lou:如果你必須使用正則表達式,那麼patter可以是'(?<= RE163)。+ $' –

1

嘗試使用以下正則表達式^(?:RE163)(\d*)

  • ^爲線
  • 的開始:是一種非捕獲組
  • (?:RE163)忽略所述第一5個字母和你不想要的號碼
  • (\ d *)是捕獲你想要的號碼的組
相關問題