首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式电话号码不得以555开头。

正则表达式电话号码不得以555开头。
EN

Stack Overflow用户
提问于 2018-03-13 18:35:35
回答 1查看 423关注 0票数 0
代码语言:javascript
复制
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class MatchPhoneNumbers {
    public static void main(String[] args) {

        String sPhoneNumber = "5568889999";
        // String sPhoneNumber = "605-88899991";
        // String sPhoneNumber = "605-888999A";

        Pattern pattern = Pattern.compile("^(?![5][5][5]).*$&\\d([2-9]{9})");
        // Pattern pattern = Pattern.compile("^[^555]\\d{7}|\\d([2-9]{9})");

        // ^[^0-9]+$
        Matcher matcher = pattern.matcher(sPhoneNumber);

        if (matcher.matches()) {
            System.out.println("Phone Number Valid");
        } else {
            System.out.println("Phone Number must be in the form XXXXXXXXXX");
        }
    }
}

我希望这是返回电话号码有效时,我输入556和假,只有当前3位数是555。此外,我不希望第一个数字是0或1如何实现这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-18 17:16:28

要匹配您的数字格式,可以使用:

^(?![01]|555)\d{10}$

在Java中:

^(?![01]|555)\\d{10}$

这将符合:

  • 字符串的^开始
  • (?!负前瞻性断言以下内容不是
    • [01]匹配0或1
    • |
    • 555匹配

  • )关闭负前瞻
  • \d{10}匹配10位数字
  • $字符串的末尾

演示Java

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49263516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档