regex - 用于解析由双引号分隔的简单句子单词的正则表达式
问题描述
我有一个看起来像这样的例句:
""Music"",""EDM / Electronic"",""organizer: Tiny Toons""
我想把这句话解析成记号:
["Music", "EDM / Electronic", "organizer: Tiny Toons"]
我的正则表达式 foo 非常有限,而且我面临一些时间压力。
想知道是否有人可以帮助我构建一个正则表达式(与 Java8 兼容——因为我正在使用 Clojure 应用正则表达式)来解析这些捕获组。
谢谢你,杰森。
解决方案
假设句子是整个字符串并且没有逗号或"
要匹配,您可以使用
"[^,\"]+"
如果上述假设不正确,请举例说明可能的输入字符串以及您要匹配的部分中可能出现的字符的详细信息。
如何使用正则表达式的简单 java 示例:
String sentence = "\"\"Music\"\",\"\"EDM / Electronic\"\",\"\"organizer: Tiny Toons\"\"";
Matcher matcher = Pattern.compile("[^,\"]+").matcher(sentence);
List<String> matches = new ArrayList<String>();
while (matcher.find()) {
matches.add(matcher.group());
}
System.out.println(matches);
推荐阅读
- javascript - 用于在多行中匹配特定单词之后的单词的正则表达式
- regex - 如何使用通配符为 gmail 中的所有一次性地址创建搜索过滤器
- php - 警告:session_start():当标头已发送时无法启动会话
- powershell - 如何使用 PowerShell 根据每个文件中的特定内容重命名文件夹中的文件?
- r - 如何拆分列中的数据以在 R 中绘制箱形图
- angular - 在 Visual Studio 2019 中创建新的 Asp.Net Core 2.1 Angular 项目时无法选择单个用户帐户
- php - 如何使用 PHP 在 FPDF 中居中表格
- c - 尝试使用 fread 读取字节但出现分段错误 11
- javascript - 如何为服务的订阅回调编写单元测试
- solr - DSE:通配符搜索