String replaceAll(regex, replacement)函数 , 由于第一个参数支持正则表达式,replacement中出现“$”,会按照$1$2的分组
模式进行匹配,当编译器发现“$”后跟的不是整数的时候,就会抛出“非法的组引用”的异常。
所以我们在使用replaceAll(regex, replacement)函数的时候要特别小心。
如果真的要把String中的字符替换成"$AAA"的话,可以对replacement 进行“$”的转义处理:
public static String filterDollarStr(String str) {
String sReturn ="";
if (!StringUtils.trim(str).equals("")) {
if(str.indexOf('$', 0)>-1)
{
while(str.length()>0)
{
if(str.indexOf('$', 0)>-1)
{
sReturn +=str.subSequence(0, str.indexOf('$', 0));
sReturn+="\\$";
str =str.substring(str.indexOf('$', 0)+1, str.length());
}
else
{
sReturn+=str;
str="";
}
}
}
else
{
sReturn = str;
}
}
return sReturn;
}
分享到:
相关推荐
然而,如果使用不当,可能会遇到`Illegal group reference`的错误。这个错误通常发生在替换字符串中包含了一个未定义的正则表达式组引用,即`$`后面跟着的数字没有对应的括号分组。 正则表达式中的括号`(`和`)`用于...
当Mybatis加载配置时,它发现Result Map(在`user-mapper.xml`中定义)在配置文件的全局Result Maps集合中已经存在,因此抛出了异常。 Result Map是Mybatis用来映射查询结果到Java对象的一种机制。在`user-mapper....
错误18: Forward reference illegal 非法的向前引用,在第一遍扫描期间,引用一个未定义符号。 错误19: Operand must be register 操作数位置上应是寄存器,但出现了标识符。 错误20: Wrong type of register ...
17. 非法向前引用错误(Forward reference illegal):在第一遍扫描期间,引用一个未定义符号时,会出现非法向前引用错误。 18. 操作数必须是寄存器错误(Operand must be register):操作数位置上应是寄存器,但...
18. **A20017 Forward reference illegal** - **描述**:在第一遍扫描期间引用了一个未定义的符号。 - **解决方法**:确保所有符号都在引用之前定义。 19. **A20018 Operand must be register** - **描述**:...
17. **Forward reference is illegal**(错误代码17):向前引用的符号在第一遍扫描时未定义。确保所有向前引用的符号在使用前都被定义。 18. **Must be register**(错误代码19):预期的操作数应为寄存器,但提供...
Forward reference illegal - **描述**:在第一次编译阶段就引用了未定义的符号。 - **解决方法**:确保所有符号在首次使用前都被正确地定义。 #### 18. Operand must be register - **描述**:指令期望的操作数是...
Forward reference illegal - **含义**:非法的前向引用。 - **解决方法**:确保在使用任何符号之前,都已经完成了其定义。 #### 18. Operand must be register - **含义**:操作数必须是寄存器。 - **解决方法**...
#### 十八、Forward reference illegal (非法的前向引用) 当你试图引用一个还未被定义的符号时,会出现这个错误。例如,在第一遍汇编时引用了一个还未被声明的变量。为了解决这个问题,可以在声明之前避免使用该符号...
- Picking Numeric User and Group IDs: Guidelines for choosing unique IDs. - Initial Environment: `/etc/skel`: Describes the initial environment setup for new users. - Creating a User by Hand: Step-...
You are visitor as of October 17, 1996. The Art of Assembly Language Programming <br>Forward Why Would Anyone Learn This Stuff? 1 What's Wrong With Assembly Language 2 What's Right With ...
<END><br>65,ExpProject.zip This project will protect your software from illegal use after the evaluation period is over. <END><br>66,MessageBoxDll.zip This is a custom message box creator.It ...