0

我有一些输入数据,例如

'和里面'里面有'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());
}
4

3 回答 3

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
于 2013-02-12T12:55:49.607 回答
0

我相信这应该符合您的要求:

\'\w+\'
于 2013-02-12T12:53:35.723 回答
0

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

于 2013-02-12T13:00:39.617 回答