我有一个包含地址和电话号码的字符串(美国格式;(xxx)xxx-xxxx)。例如。,
1243 K. Beverly Bld. # 223
Los Angeles, CA 41124
(213) 314-3221
这是一个字符串,我需要使用正则表达式从其中提取电话号码。我本可以使用字符串标记,但是有一些无效数据也可能与此字符串连接在一起。因此,我认为使用正则表达式将是查找电话号码的最简单,最快的方法。找到电话号码后,我需要从输入字符串中删除。
有人可以分享快速代码段吗?
最佳答案
Match matchResults = null;
try {
Regex regexObj = new Regex(@"\(?\b[0-9]{3}\)?[-. ]?[0-9]{3}[-. ]?[0-9]{4}\b");
matchResults = regexObj.Match(subjectString);
if (matchResults.Success) {
// matched text: matchResults.Value
// match start: matchResults.Index
// match length: matchResults.Length
// backreference n text: matchResults.Groups[n].Value
// backreference n start: matchResults.Groups[n].Index
// backreference n length: matchResults.Groups[n].Length
} else {
// Match attempt failed
}
} catch (ArgumentException ex) {
// Syntax error in the regular expression
}
我是RegexBuddy的片段,RegexBuddy是RegEx的非常好帮手。
关于c# - .NET正则表达式-查找,替换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2260502/