繁体   English   中英

Java正则表达式

[英]Java Regular Expression

我需要定义一个(Java)正则表达式,以匹配不包含任何这些字符串的任何字符串

  • 整个词为“ foo”或“ foos”
  • “ bar”或“ bars”整体
  • 整个单词“ baz”或“ bazs”

是否可以将其表示为单个正则表达式? 我知道使用3个单独的正则表达式会更具可读性,但如果可能的话,我希望将其合而为一。

谢谢唐

请尝试以下操作:

final private static Pattern p = Pattern.compile(".*\\b(?:foos?|bars?|bazs?)\\b.*");
public boolean isGoodString(String stringToTest) {
  return !p.matcher(stringToTest).matches();
}

干得好:

^((?!\bfoos?|bars?|bazs?\b).)*$

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM