我有个问题.
我想要做的是,使用Java正则表达式,如果它不是“顺序”序列,则替换“Or”序列.因此,如果序列以“Or”开头并且它不以“der”结尾,我想做一个替换:
例如.:
> findByNameOrAge expected – > findByName或年龄
> findByNameOrderAge expected – > findByNameOrderAge(保持相同的值)
我尝试了相同的正则表达式序列,但没有运气.
String value = "findByNameOrAge";
String value2 = "findByNameOrderByAge";
String regex = "Or(?=^der)";
System.out.println(value.replaceAll(regex, " or "));
System.out.println(value2.replaceAll(regex, " or "));
解决方法:
你的正则表达式(?= ^ der)匹配Or并使用正向前瞻来断言后面是字符串的开头^后跟der
相反,你可以使用负向前瞻(?!来断言后面的内容或者不是der,然后用或替换
订购)
String regex =“Or(?!der)”;
标签:java,regex,replace
来源: https://codeday.me/bug/20190527/1161835.html