Java - 正则表达式抓取包含一个或多个单引号的任何单词

时间:2014-03-04 06:15:56

标签: java regex contain

我想创建一个Java正则表达式来查找其中包含单引号的所有单词。单词示例:

  

'字'

     

“字

     

“W'ord

     

“W'or'd

     

字'

     

w'orD

     

w'o'r'd

我希望我不会遗漏任何上述情况。目前我正在使用此查询:

[a-zA-Z]*('{1,})[a-zA-Z]*('{0,})[a-zA-Z]*

但它仍然无法抓住上述所有单词。是否有正则表达式来查找单词是否包含一个或多个单引号?

注意:在我的情况下,我不能使用像String.contains(...)这样的Java方法。我希望它是一个正则表达式解决方案。

2 个答案:

答案 0 :(得分:0)

您可以使用:

(?=.*?[a-z])(?=.*?')[a-z']+

在线演示:http://regex101.com/r/dR7gS9

答案 1 :(得分:0)

试试这个

    Matcher m = Pattern.compile("['?\\p{L}]+").matcher(s);
    while(m.find()) {
        System.out.println(m.group());
    }