Java 有人能帮我用正则表达式吗?

Java 有人能帮我用正则表达式吗?,java,regex,regex-negation,Java,Regex,Regex Negation,我需要为以下规则编写正则表达式的帮助: 不允许使用空格 唯一允许使用空格的情况是在括号内[] 我想出了一个表达方式: [^(\\[\s\\])] 但在这种情况下,不允许分别使用以下字符:[、空格和] 请帮忙 谢谢您可以使用如下表达式: ^(?:[^][\s]|\[[^]]*\])*\z 有很多方法可以做到这一点。这里有一个: ^([^\s\[]*(\[[^\]]*)*)*$ \S不是空白 |或 \[.*?]括号内的任何字符 ^(\S|\[.*?])*$

我需要为以下规则编写正则表达式的帮助:

  • 不允许使用空格
  • 唯一允许使用空格的情况是在括号内
    []
  • 我想出了一个表达方式:

    [^(\\[\s\\])]
    
    但在这种情况下,不允许分别使用以下字符:
    [
    、空格和
    ]

    请帮忙


    谢谢

    您可以使用如下表达式:

    ^(?:[^][\s]|\[[^]]*\])*\z
    

    有很多方法可以做到这一点。这里有一个:

    ^([^\s\[]*(\[[^\]]*)*)*$
    
    • \S
      不是空白
    • |
    • \[.*?]
      括号内的任何字符
    ^(\S|\[.*?])*$