我要匹配模式,我在regexp中非常糟糕。
我要匹配像ABC-12345
这样的字符串,这个是完美的字符串。
但是用户可能会犯错误(对于开发人员来说一样),用户可以在连字符的任何一侧添加空格
因此,代码应该能够匹配,如果它是
ABC- 12345 one white space left side of hyphen
ABC -12345 one white space right side of hyphen
ABC - 12345 one white space both side of hyphen
我已尝试/s
,[[:blank:]]
,但他们正在强制使用空格,但我需要它是可选的。
答案 0 :(得分:2)
你需要在你的空白字符后加*
来匹配零到多次:
string result = Regex.Match(input, @"[A-Z]{3}\s*-\s*[0-9]{5}").Value;
或者,您可以在使用Regex之前过滤字符串空格:
string result = Regex.Match(input.Replace(" ", ""), @"[A-Z]{3}-[0-9]{5}").Value;