正则表达式在字符串的开头排除字符串

时间:2016-07-28 08:58:07

标签: .net regex

我想在开头排除一个固定的字符串,这样我只能得到固定字符串后的数字。

固定字符串是RE163,所以这里有一些带有预期结果的例子:

Example     Result
RE16310000  10000
RE16312345  12345
RE16316300  16300 

我已经尝试过以下正则表达式:

适用于以下示例:

RE16310000  10000
RE16319999  19999

但不适合:

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

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分:1)

尝试以下正则表达式^(?:RE163)(\d*)

  • ^用于行的开头
  • ?:是非捕获组
  • (?:RE163)忽略您不想要的前5个字母和数字
  • (\ d *)是捕获您想要的数字的组