繁体   English   中英

特定字词的正则表达式

[英]Regex for specific word

我试图为“ [开始单词] [特定单词] [结束单词]”编写一个正则表达式,并使其不区分大小写。 但是由于某种原因,它似乎不起作用。

我正在用Java编写,因此需要额外的“ \\”。

例如,如果我想匹配“ crazy”一词,则我的正则表达式为:

/\\bcrazy\\b/i

我在其中调用不匹配任何内容的正则表达式的Java代码是:

textToMakeHarder = textToMakeHarder.replaceAll("/\\bcrazy\\b/i", "super crazy");

尝试这个:

  String textToMakeHarder = "I am a crazy person and he is also a crazy person. Are you crazycrazy too?";
  Pattern re = Pattern.compile("\\bcrazy\\b",Pattern.CASE_INSENSITIVE);
  Matcher m = re.matcher(textToMakeHarder);
  textToMakeHarder = m.replaceAll("super crazy");

结果:

我是一个超级疯狂的人,他也是一个超级疯狂的人。 你也疯了吗?

摆脱//i ,并使用Pattern来实现不区分大小写的功能:

Pattern pattern = Pattern.compile("\\bcrazy\\b",Pattern.CASE_INSENSITIVE);
Matcher match = pattern.matcher(textToMakeHarder);

textToMakeHarder = match.replaceAll("super crazy");
Pattern pat = Pattern("\\bcrazy\\b",Pattern.CASE_INSENSITIVE);
Matcher mat = pat.matcher("Your_Input");

while(mat.find()){

   mat.replaceAll("super crazy");

}

您想尝试这个简单的版本:

String textToMakeHarder = "foo bar is CraZY tonight".replaceAll("(?i)\\bcrazy\\b", "super crazy");

输出为:

foo bar is super crazy tonight

使用short修饰符(?i)进行不区分大小写的搜索。

对Patterns的官方Java 7文档的引用

暂无
暂无

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

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