`
zhangjim
  • 浏览: 51917 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

String.replaceAll和java.lang.IllegalArgumentException: Illegal group reference

阅读更多

String replaceAll(regex, replacement)函数,由于第一个参数支持正则表达式,replacement中出现“$”,会按照$1$2的分组模式进行匹配,当编译器发现“$”后跟的不是整数的时候,就会抛出“非法的组引用”的异常。

 

所以我们在使用replaceAll(regex, replacement)函数的时候要特别小心。如果replacement 中的字符含有"$"的话,就需要对它里面的“$”字符进行转义处理。

 

参考代码:

public class Test {
	public static void main(String[] args) {
		String keyword = "a$b";
		String url = "www.baidu.com?user=keyword";
		String newURL = url.replaceAll("keyword", keyword.replaceAll("\\$", "\\\\\\$"));
		System.out.println(newURL);
	}
}

 

 

分享到:
评论

相关推荐

    String.prototype.replaceAll:适用于String.prototype.replaceAll ESnext提案的符合规范的polyfill

    string.prototype.replaceall 用于String.prototype.replaceAll的ES Proposal规范填充程序。 如果不可用或不String.prototype.replaceAll调用其“ shim”方法对String.prototype.replaceAll进行填充。 该软件包...

    java替换html特殊字符工具类

    htmlStr =htmlStr.replaceAll("∀", "∀"); htmlStr =htmlStr.replaceAll("∂", "∂"); htmlStr =htmlStr.replaceAll("&exists;", "∃"); htmlStr =htmlStr.replaceAll("∅", "∅"); htmlStr...

    String.replaceAll方法详析(正则妙用)

    主要给大家介绍了关于String.replaceAll方法,正则妙用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    Java replaceAll()方法报错Illegal group reference的解决办法

    主要给大家介绍了关于Java replaceAll()方法报错Illegal group reference的解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    java金额转大写

    public static String arabNumToChineseRMB(int moneyNum){ String res=""; int i=3; if(moneyNum==0) return "零元"; while(moneyNum>0){ res=ChineseUnit[i++]+res; res=ChineseNum[moneyNum]+res; money...

    JS中实现replaceAll的方法(实例代码)

    本文是对JS中实现replaceAll的方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助

    java-正则表达式-正则表达式元素介绍

    正则表达式主要配合以下方法使用 匹配 string.matches() 分割 string.split() 替换 string.replaceAll()

    java去除空格、标点符号的方法实例.docx

    在Java中,去除标点符号可以使用replaceAll()方法和正则表达式。 1. 使用replaceAll()方法去除标点符号 可以使用正则表达式 `\p{Punct}` 匹配标点符号,并使用replaceAll()方法去除标点符号。例如: ```java ...

    Js 回车换行处理的办法及replace方法应用

    js里没有replaceAll的函数,需要我们自定义 代码如下: String.prototype.replaceAll = function(s1,s2){ return this.replace(new RegExp(s1,”gm”),s2); } 2、使用js的replace进行处理 代码如下: str=str....

    Java的 String 类常用方法大全

    Java 中的 String 类提供了三种方法来实现字符串的替换,分别是 replace、replaceAll 和 replaceFirst。 1. replace 方法 replace 方法将字符串中所有出现的 oldChar 字符串替换为 newChar 字符串。如: String ...

    sm2sm4加解密加签验签demo

    获取公私钥 Map<String, String> map = SM2Util.getKeyPairStr();...String appId = str.trim().replaceAll("-","").toUpperCase(); String appSecret = str.trim().replaceAll("-","").toUpperCase();

    proposal-string-replaceall:ECMAScript建议

    String.prototype.replaceAll建议 地位 冠军:Mathias Bynens(Google,@ mathiasbynens)。 该提案处于第4阶段,计划包含在ES2021中。 动机 (另请参见。) 当前,如果不使用全局正则表达式,就无法替换字符串...

    微信下载录音amr转换MP3.docx

    微信下载录音amr转换MP3(成功测试详细 public static File ... downloadUrl = downloadUrl.replaceAll("ACCESS_TOKEN", accessToken).replaceAll("MEDIA_ID", mediaId); File file = null; File file2 = null;

    对DAO编写单元测试源代码

    String ticket = UUID.randomUUID().toString().replaceAll("\\-", ""); PasswordTicket pt = new PasswordTicket(); pt.setUser(user); pt.setTicket(ticket); pt.setCreatedDate(System....

    JAVA解惑.pdf

    Java 谜题 谜题 20:我的类是什么? 下面的程序被设计用来打印它的类文件的名称。如果你不熟悉类字面常量,那么 我告诉你 Me.class.getName()将返回 Me 类完整的名称,即 “com.javapuzzlers.Me”。那么,这个程序...

    c3p0工具包(jdbc)

    import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet....

    去掉所有的html标签

    private String stripTags(final String HTMLString) { final String noHTMLString = HTMLString.replaceAll("\\<.*?>",""); return noHTMLString; }

    Java 中 过滤Html标签

    使用这个正则表达式,我们可以使用Java的Pattern和Matcher类来删除script标签。 同样,我们可以定义style标签和html标签的正则表达式,分别如下: `String regEx_style = "<[//s]*?style[^>]*?>[//s//S]*?<[//s]*?...

    Java中replace、replaceAll和replaceFirst函数的用法小结

    相信会java的同学估计都用过replace、replaceAll、replaceFirst这三个函数,可是,我们真的懂他们吗?下面通过这篇文章大家再来好好学习学习下这几个函数。

    Java String.replace()方法"无效"的原因及解决方式

    主要介绍了Java String.replace()方法"无效"的原因及解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

Global site tag (gtag.js) - Google Analytics