有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java缺少右括号

索引13附近的字符类中缺少右括号 |\?*&书信电报;“:>;+[]/” 我的代码:

Pattern.compile("|\\?*<\":>+[]/'").matcher(name).matches()

共 (1) 个答案

  1. # 1 楼答案

    你可以用

    Pattern.compile("[|\\\\?*<\":>+\\[\\]/']+").matcher(name).matches()
    

    regex的意思是:

    • [-正面角色类的开始:
      • |-管道
      • \\-反斜杠(需要字符串文本中的附加反斜杠,"\\\\"
      • ?-一个问号
      • *-星号
      • <-一个开角括号
      • "-双引号
      • :-冒号
      • >-一个闭合的角括号
      • +a加号
      • \[-a [字符(当[在字符类中时必须转义)
      • \]-a ]字符(当]在字符类中时必须转义)
      • /-正斜杠
      • '-一个单引号
    • ]+-字符类结束,出现1次或多次

    因此,这将验证一个字符串,该字符串只包含这些字符的一个或多个实例。如果需要相反的选项,请在第一个[后面添加^

    Pattern.compile("[^|\\\\?*<\":>+\\[\\]/']+").matcher(name).matches()
    //                ^ 
    

    Java demo

    String name = "Wiktor Stribiżew";
    System.out.println(Pattern.compile("[^|\\\\?*<\":>+\\[\\]/']+").matcher(name).matches());
    // => true