Java Regex:PatternSyntaxException:非法重复

Java Regex:PatternSyntaxException:非法重复,java,regex,string,Java,Regex,String,我不擅长正则表达式,我正在尝试使用java.lang.String replaceAll方法,代码段如下 A是: 以B代替 null public class method3 { /* some writting */ public static int addTwoNumbers(int one, int two){ return one+two; } /*more text*/ public static void main (Stri

我不擅长正则表达式,我正在尝试使用java.lang.String replaceAll方法,代码段如下

A是:

以B代替

null
public class method3 {
    /* some writting */
    public static int addTwoNumbers(int one, int two){
        return one+two;
    }
    /*more text*/
    public static void main (String[] args){
        int total = addTwoNumbers(1, 3);
        System.out.println(total);
    }//end of 
}
这给了我以下的错误

java.util.regex.PatternSyntaxException: Illegal repetition
我猜这和/**/字符有关吧

你是怎么分类的?还有其他的角色我需要注意吗

编辑:这是错误消息


当前,您的代码尝试分析以将字符串替换为正则表达式

要按字面意思而不是将字符串替换为正则表达式,可以使用


另外,作为补充说明,在这种情况下,您可能会发现比replaceAll更合适。

目前,您的代码尝试将字符串分析为regex替换

要按字面意思而不是将字符串替换为正则表达式,可以使用


另外,作为补充说明,在这种情况下,您可能会发现比replaceAll更合适。

您的问题可能源于未转义您要替换的内容以及您要替换的内容中的几个字符。Regex可能不是您希望在此处使用的工具。在www.regular-expressions.info中,需要注意的字符是[]\^$。|*+


阅读该网站,了解regex的使用/限制。

您的问题可能源于没有转义您试图替换的内容以及您试图替换的内容中的几个字符。Regex可能不是您希望在此处使用的工具。在www.regular-expressions.info中,需要注意的字符是[]\^$。|*+


请在该网站上阅读,了解regex的用法/限制。

代码片段是相同的,不是吗?如果您能显示失败的代码,这会有所帮助。是的,*在正则表达式中有特殊含义。。。但可能regex并不是这里最好的方法。replaceAll的调用在哪里?你到底在哪里使用模式?我只看到System.out.println和1+2。代码是一样的,我正在尝试替换它,只是其中有一些元素。。。这只是一个简单的例子,代码片段是一样的,不是吗?如果你能展示失败的代码,那会很有帮助。是的,*在正则表达式中有特殊含义。。。但可能regex并不是这里最好的方法。replaceAll的调用在哪里?你到底在哪里使用模式?我只看到System.out.println和1+2。代码是一样的,我正在尝试替换它,只是其中有一些元素。。。这只是一个简单的例子我已经尝试了你的两个建议,但是没有一个有效,我不再收到错误,但是它不会替换内容的任何文本。在这种情况下,替换方法根本不会在另一个字符串中找到你的字符串。这是一个完全不同的问题,所以如果你想问它,创建一个新的问题,而不是编辑这个问题。但是,这是一个通过简单调试就可以轻松解决的问题。是的,其中一个字符串的末尾有空格,因此在我修剪字符串后,它起作用了,Cheers我尝试了你的两个建议,但没有一个是有效的,我不再收到错误,但它不会替换内容的任何文本。在这种情况下,replace方法根本不会在另一个字符串中找到您的字符串。这是一个完全不同的问题,所以如果你想问它,创建一个新的问题,而不是编辑这个问题。然而,这是一个通过简单的调试就可以很容易解决的问题。是的,其中一根弦的末端有空白,所以在我修剪完弦后,它起作用了,干杯
java.util.regex.PatternSyntaxException: Illegal repetition
Exception in thread "AWT-EventQueue-0" java.util.regex.PatternSyntaxException: Illegal repetition near index 25
null
public class method2 {

    public static int addTwoNumbers(int one, int two){
        return one+two;
    }

    public static void main (String[] args){
        int total = addTwoNumbers(1, 3);
        System.out.println(total);
    }
}


                         ^
    at java.util.regex.Pattern.error(Pattern.java:1924)
    at java.util.regex.Pattern.closure(Pattern.java:3104)
    at java.util.regex.Pattern.sequence(Pattern.java:2101)
    at java.util.regex.Pattern.expr(Pattern.java:1964)
    at java.util.regex.Pattern.compile(Pattern.java:1665)
    at java.util.regex.Pattern.<init>(Pattern.java:1337)
    ....
        String a = readFile(directoryToAddFile,startOfCode, endOfCode);
        String b = textarea.getText().toString();
        String content = IOUtils.toString(new FileInputStream(directoryToAddFile));
        content = content.replaceAll(a, b);
        IOUtils.write(content, new FileOutputStream(directoryToAddFile));
content = content.replaceAll(Pattern.quote(a), b);