我有一个场景,我必须从字符串中删除特殊字符。
输入字符串:
name=/"xyz =bcd .olm --=myname/"
输出字符串必须类似于:
name=/"xyz bcd olm myname/"
我尝试了如下所示的方法,但仍然无法得出确切的正则表达式。谁能帮我找出我做错了什么?
String inputString = "name=\"xyz =bcd .olm --=myname\"";
String regex = "(?<=name=\")[^<]*(?<!/)(\\w+)(?=[^>]*>)";
String outputString = inputString.replaceAll(regex, "$1");
System.out.println(outputString);
尝试:
[^\w/\" ](?!(?:.*\/\"){2})
匹配:
[^\w/\"]
任何字符,不是 \w
字符、/
或 "
。(?!...)
但前提是不是……
(?:(?:.*\/\")){2}
...后跟 /"
两次 -> 排除您不希望匹配的每个特殊字符只需替换为空字符串即可。