除了“M”,“F”,“M / F”之外的所有内容的正则表达式

前端之家收集整理的这篇文章主要介绍了除了“M”,“F”,“M / F”之外的所有内容的正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果整个String不是“M”,“F”或“M / F”,我需要在 Java中使用正则表达式将字符串替换为“UNKNOWN”.换一种说法:

>字符串“M”保持“M”
>字符串“F”保持“F”
>字符串“M / F”保持“M / F”
>其他任何事情都变成了“未知”

一个奇怪的情况是“M /”或“F /”应该变为“未知”.请帮忙,我在这里死了.

我实际上是通过xml映射文件将正则表达式传递给框架,所以我没有编程控制输出的形成方式.我只能传递一个正则表达式,以及它被替换为什么.

解决方法

您可以像这样使用负向前瞻:

Pattern.compile("^(?!^(?:M|F|M/F)$).*$");

使用String#replaceAll你可以做到:

String replaced = str.replaceAll("^(?!^(?:M|F|M/F)$).*$","UNKNOWN");

猜你在找的正则表达式相关文章