我有一个包含地址和电话号码的字符串(美国格式;(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/

10-09 13:54