Java中字符串“**abc\u abc**abc**abc**abc\u abc**”中“**abc\u abc**”的正则表达式

Java中字符串“**abc\u abc**abc**abc**abc\u abc**”中“**abc\u abc**”的正则表达式,java,regex,Java,Regex,我有多个字符串,在某些情况下,字符串是**abc\u abc**,在某些情况下,字符串是**abc\u abc**abc**abc\u abc**,我只需要选择一对“**”(因此**abc\u abc**)。到目前为止,我一直在使用regex,它似乎工作得很好,但我刚刚发现在第二个示例中,它可以解决整个问题 到目前为止,我的正则表达式是: \\*\\*(.*?)_(.*?)\\*\\* 你知道如何只得到那一对星星吗 任何帮助都将不胜感激。提前感谢:)为了避免匹配从“非限定”开始的字符串,**…

我有多个字符串,在某些情况下,字符串是
**abc\u abc**
,在某些情况下,字符串是
**abc\u abc**abc**abc\u abc**
,我只需要选择一对“**”(因此
**abc\u abc**
)。到目前为止,我一直在使用regex,它似乎工作得很好,但我刚刚发现在第二个示例中,它可以解决整个问题

到目前为止,我的正则表达式是:

\\*\\*(.*?)_(.*?)\\*\\*
你知道如何只得到那一对星星吗


任何帮助都将不胜感激。提前感谢:)

为了避免匹配从“非限定”开始的字符串,
**…**
您需要使用更具体的模式调整第一组:

\*\*((?:(?!\*\*)[^.]*)\u(.*)\*\*
看。详情:

  • \*\*
    -一个
    ***
    字符串
  • ((?:(?!\*)[^)]*)
    -捕获组1:除
    以外的任何字符,该字符不启动
    **
    子字符串,尽可能多次或零次
  • 字符
  • (.*)
    -捕获组2:除换行符以外的任何零个或多个字符,尽可能少
  • \*\*
    -一个
    ***
    字符串
Java正则表达式声明:

String regex=“\\*\*((?:(?!\\*\*)[^\]*)\(*?)\*”;

您发布的字符串没有问题,但您可能需要
\*\*((?:(?!\\*\*)[^\])*)\(.*?\\*\*\*
)是!哲谷!如果您想将您的评论作为答案提交,我可以将其标记为正确:)