Java:正则表达式 - 我如何获得第一个引用文本

Pop*_*oko 5 java regex

作为一个正则表达式的初学者我相信我即将问一些过于简单但生病的问题无论如何希望它不会打扰你帮助我...

让我说我有一个像'你好'cool1'字样的文字!'cool2'" 我希望得到第一个引用的文字(这是'cool1'没有'')

我的模式应该是什么?当使用匹配器时,我如何保证它仍然是第一个引用而不是第二个?

(请仅使用正则表达式建议解决方案..)

Mar*_*ers 8

使用此正则表达式:

'([^']*)'

使用方法如下:( ideone)

Pattern pattern = Pattern.compile("'([^']*)'");
Matcher matcher = pattern.matcher(s);
if (matcher.find()) {
    System.out.println(matcher.group(1));
}
Run Code Online (Sandbox Code Playgroud)

或者,如果您知道引用字符串中没有换行符,请执行以下操作:

'(.*?)'

使用匹配器时,我如何保证它仍然是第一个引用而不是第二个?

它将首先找到第一个引用的字符串,因为它从左到右开始搜索.如果你要求它进行下一场比赛,它会给你第二个引用的字符串.