【问题标题】:Translate XML Schema pattern to Java regular expression将 XML Schema 模式转换为 Java 正则表达式
【发布时间】:2010-02-25 18:44:36
【问题描述】:

谁能帮我把这个 XML Schema 模式“[0-9]+-([0-9]|K)”翻译成 java 正则表达式?

【问题讨论】:

    标签: java regex expression


    【解决方案1】:

    这是一个带有sn-p的模式,说明如何使用它。

    \\ 用于转义字符串中的 \。 \d 表示 [0-9]。我不记得 - 是否必须转义,所以我这样做以防万一。

    Pattern p = Pattern.compile("\\d+\\-[\\d|K]"); //The string is the pattern
    Matcher m = p.matcher(whatYouWantToMatch);
    boolean b = m.matches();
    

    【讨论】:

    • 谢谢!我只是发现它是兼容的......这很好用: s.matches("[0-9]+-([0-9]|K)")
    • 现在你明白了;)我用你的正则表达式:s.matches("\\d+\\-[\\d|K]")
    • XSD 中的正则表达式由 ^ 和 $ 隐式锚定在开始和结束处,但 Java 中的正则表达式不是,所以显式添加它们,所以这个 anwser 是不正确的。见stackoverflow.com/questions/29536762/java-regex-vs-xsd-regex
    【解决方案2】:

    至少这种情况与java regex兼容...

    String s = "test cases here";
    s.matches("[0-9]+-([0-9]|K)") //works OK.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      相关资源
      最近更新 更多