Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果前面没有“替换”字符+&引用;_Java_Regex_Replace - Fatal编程技术网

Java 如果前面没有“替换”字符+&引用;

Java 如果前面没有“替换”字符+&引用;,java,regex,replace,Java,Regex,Replace,在java中,只有在数字前面没有“+”的情况下,我才需要将数字替换为单词。 例如: 应成为: matchone match+1 (no modify) 我试过了 >>>name = name.replaceAll("([^+])1", "one"); matcone //required "matchone" 但它不起作用。有什么建议吗 谢谢你使用负面回顾: name = name.replaceAl

在java中,只有在数字前面没有“+”的情况下,我才需要将数字替换为单词。 例如:

应成为:

matchone
match+1 (no modify)
我试过了

>>>name = name.replaceAll("([^+])1", "one");
matcone                                      //required "matchone"
但它不起作用。有什么建议吗


谢谢你

使用负面回顾:

name = name.replaceAll("(?<!\\+)1", "one");

name=name.replaceAll(“(?使用反向查找:

name = name.replaceAll("(?<!\\+)1", "one");

name=name.replaceAll(“(?您的正则表达式正在吃掉1之前的字符,并将其替换为“1”,因此第一个实例中的输出是“matcone”

您可以使用负查找表达式(
?)来匹配前面没有“+”的任何“1”:


name=name.replaceAll(“(?您的正则表达式正在吃掉1之前的字符,并将其替换为“1”,因此第一个实例中的输出是“matcone”

您可以使用负查找表达式(
?)来匹配前面没有“+”的任何“1”:


name=name.replaceAll(“(?是只替换数字“1”的要求)?您的问题没有指定,但您的正则表达式建议相反。是的,我只需要将“1”替换为“但它不工作”。您得到的输出是什么,您期望的输出是什么?有关“不工作”,请参阅i mena it’s not replace anything这是只替换数字“1”的要求吗?您的问题没有具体说明,但您的正则表达式建议相反。是的,我只需要将“1”替换为“但它不工作”。您需要将您的意思指定为“但它不工作”。您得到的输出是什么,以及您期望的输出是什么?有关“不工作”,请参阅i mena它不会替换任何东西你的意思是:“look behind”这会给出一个“string literal中的非法转义字符”:-(@YCF_L:谢谢编辑。我总是忘记双重转义:-)(你的意思是:“look behind”这会给出一个“string literal中的非法转义字符”:-(@YCF_L:谢谢编辑。我总是忘记双重转义:-(
name = name.replaceAll("(?<!\\+)1", "one");