有关Java中正则表达式的疑问[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关Java中正则表达式的疑问[重复]相关的知识,希望对你有一定的参考价值。

此问题已经在这里有了答案:

我对正则表达式有疑问,我正在尝试捕获,但我不知道是否有可能希望有人可以向我解释一下,或者您是否知道另一种方法我会很感激] >

[input

] >>
String Str = "~teste~~teste~`teste``teste`";
        Str = Str.replaceAll("([~`]).[^$1]+$1","$1Text$1");
        System.out.print(Str);

[输出

~teste~~teste~`teste``teste`

[输出期望

] >>
~Text~~Text~`Text``Text`

我对正则表达式有疑问,我正在尝试进行捕获,但是我不知道是否有可能希望有人可以向我解释一下,或者您是否知道另一种处理方式,我非常感谢您的投入字符串Str =“〜...

显然,您的正则表达式是错误的。在您的字符串中找不到匹配项。试试Online Regex Debugger

祝你好运

也许,

[^~`\r\n]+

替换为Text可能与您的想法很接近:

import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class RegularExpression{

    public static void main(String[] args){

        final String regex = "[^~`\r\n]+";
        final String string = "~teste~~teste~`teste``teste`";
        final String subst = "Text";

        final Pattern pattern = Pattern.compile(regex);
        final Matcher matcher = pattern.matcher(string);

        final String result = matcher.replaceAll(subst);

        System.out.println(result);

    }
}

输出

~Text~~Text~`Text``Text`

[如果您想简化/修改/探索表达式,请在regex101.com的右上角进行说明。如果需要,您还可以在this link中查看它如何与某些样本输入匹配。


答案

显然,您的正则表达式是错误的。在您的字符串中找不到匹配项。试试Online Regex Debugger

另一答案

也许,

[^~`\r\n]+

以上是关于有关Java中正则表达式的疑问[重复]的主要内容,如果未能解决你的问题,请参考以下文章

java中身份*号正则表达式

正则表达式检测代码中的注释[重复]

Node.js 正则表达式不起作用[重复]

如何在 java 8 正则表达式中使用 \R [重复]

java正则表达式使用

正则表达式 javascript [重复]