用于在引号内匹配模式的正则表达式

时间:2013-02-12 12:51:49

标签: java regex

我有一些输入数据,例如

  

一些字符串'hello'在'内部'和'内部'

如何编写正则表达式,以便返回引用的文本(无论重复多少次)(所有出现次数)。

我有一个返回单引号的代码,但我想这样做以便它返回多个出现:

String mydata = "some string with 'hello' inside 'and inside'";
Pattern pattern = Pattern.compile("'(.*?)+'");
Matcher matcher = pattern.matcher(mydata);
while (matcher.find())
{
    System.out.println(matcher.group());
}

3 个答案:

答案 0 :(得分:3)

为我查找所有事件:

String mydata = "some '' string with 'hello' inside 'and inside'";
Pattern pattern = Pattern.compile("'[^']*'");
Matcher matcher = pattern.matcher(mydata);
while(matcher.find())
{
    System.out.println(matcher.group());
}

输出:

''
'hello'
'and inside'

模式描述:

'          // start quoting text
[^']       // all characters not single quote
*          // 0 or infinite count of not quote characters
'          // end quote

答案 1 :(得分:0)

我认为这应符合您的要求:

\'\w+\'

答案 2 :(得分:0)

\'.*?'是您正在寻找的正则表达式。