使用正则表达式查找字符串中不包含specefic字母的所有单词

时间:2017-11-24 15:34:31

标签: java regex

如何使用正则表达式查找字符串中不包含字母Sample.Core的所有单词。例如,字符串是

i

输出应该是

This is my first regex example

编辑:我尝试了打击正则表达式,但没有工作

my
regex
example 

2 个答案:

答案 0 :(得分:4)

试试这个正则表达式:

\b[^i\s]+\b

<强>解释

  • \b - a word-boundary - 返回单词和非单词字符之间的0长度匹配
  • [^i\s]+ - 匹配任何既不是i也不是空格字符的字符的出现次数
  • \b - 字边界

Click for Demo

Click for JAVA code

答案 1 :(得分:1)

正则表达式将是:

(?i)\\b[a-hj-z]+\\b

我们需要找到单词,为此我们在结尾和表达式的开头使用单词边界\b\b之间的部分是匹配包含来自a-hj-z的字母的一个符号的类,我们在此范围内未使用i字母,因此匹配的结果将就像你需要的那样。对于匹配单词而不仅仅是这个范围内的一个符号,我们使用+表示类需要重复一次或多次。 表达式开头的(?i)是一个标志,表示将所有字母解释为不区分大小写。

P.S。已经包含在Pattern java class

的javadoc中的简单正则表达式教程