java - 正则表达式从字符串中提取引号中的单词?

标签 java regex

因此,我希望从字符串中提取引号 (") 内的单词(或短语)。
例如假设主字符串是:
敏捷的棕色狐狸“跳过”了“懒惰”的狗
我希望能够提取出引号中的单词/短语并将其存储在变量中,即
跳过了
懒惰
应该存储在变量中。输入的字符串在引用时只会加双引号(不会加单引号)。
我为此尝试了以下(粗略)代码:

Pattern p = Pattern.compile("\\s\"(.*?)\"\\s");
Matcher m = p.matcher(<String>);
Variable.add(m.group(1));

无论我输入什么,它都会抛出 IllegalStateException。我感觉我的正则表达式无法正常工作。 任何帮助表示赞赏。

最佳答案

您的代码缺少一些 if( m.matches())m.find() 来完成工作...

这段代码:

String in = "The quick brown fox \"jumped over\" the \"lazy\" dog";
Pattern p = Pattern.compile( "\"([^\"]*)\"" );
Matcher m = p.matcher( in );
while( m.find()) {
   System.err.println( m.group( 1 ));
}

输出:

jumped over
lazy

关于java - 正则表达式从字符串中提取引号中的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13320726/

相关文章:

java - 无法使用 JSON 解析器将网页中的图像显示到 android

java - 与另一个列表相比更新列表元素的快速方法

java - Java 中的 Arcane isPrime 方法

mysql - SQL-Server-2008 中的正则表达式

java - 什么是 "localized message"?

java - 如何将 "key1:value1, value, key2:value3"字符串解析为 ArrayLists?

java - Wicket 1.5 非模态窗口

正则表达式必须以任何顺序包含特定字母

javascript - 在 javascript 中是否有类似 PHP 的 preg_replace_callback() 的东西?

regex - 使用正则表达式在 bash 中搜索和替换