java - 正则表达式将引号内的文本选择为组

标签 java json regex format

我有很多这种格式的行。我需要捕获带引号的文本 block (包括引号),但最后一个 block 可能为 null (不带引号)。

"1" "Melbourne is the capital of Australia."    "0" "Canberra is the capital of Australia."
"2" "New York is the capital of Florida."   "0" "Tallahassee is the capital of Florida."
"3" "Paris is the capital of France."   "1" null

赛后预计替换:

{"id":\1,"statement":\2,"correct":\3,"additional":\4},

最佳答案

既然您知道有 4 个术语:

.*?(".*?").*?(".*?").*?(".*?").*?(null|(".*?").*

参见demo

使用不情愿量词非常重要,这样可以捕获尽可能少的内容。

关于java - 正则表达式将引号内的文本选择为组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39560970/

相关文章:

java - 如何获取以特定字符开头的字符串的字母,避免其他特殊字符

java - 如何在 Java 中对数字进行四舍五入?

json - 为什么从远程AWS S3服务器下载json文件时axios GET错误

javascript - 遍历 JavaScript 对象树

使用 Spring 3 MVC 和 jQuery 的 JSON 响应

c# - 在第一个空格处划分字符串

java - SWT Text 设置滚动值

java - 如何在jscience中获取完整的单位名称

java - 将方法的参数标记为 final 会使方法调用更快吗?

java - 使用正则表达式查找模式匹配的第 n 个实例