java - 从 SQL 插入查询字符串中提取带引号的值

标签 java regex string split

我正在尝试使用 split 来分割字符串。但我一直在想出一个正则表达式来满足我的需要。该字符串看起来像这样:

INSERT INTO  VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger',4006,'Norway');

我需要能够检索 '' 之间的所有值。关键是保持琴弦完好无损。因此,Tom B. Erichsen 应该是一个字符串,而不是分成 TomB.Erichsen

另一件事是整数不会被 '' 包围。

任何人都可以给我关于如何使用 split 或其他方式解析此信息的建议吗?

最佳答案

我会把它分成几部分。

这不是有效的 SQL(无表),但我确信这只是一个示例。

我首先将子字符串从括号中拉出。

然后我会假设以逗号分隔的值来拆分它。

然后我会处理每个值。

这不是一件小事,也不是一步之遥。

用于 SQL INSERT 的语法和词法分析器/解析器可能会更好。尝试查看 ANTLR。

关于java - 从 SQL 插入查询字符串中提取带引号的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22546392/

相关文章:

java - Hibernate 实体和存储库的正确文件路径

php - 用 preg_replace 替换 ereg_replace

string - Swift 字符串比较使用哪种规范化?

c# - 通过比较部分目录路径来匹配子目录

java - Sonar 扫描仪分析在 util.lang.ConcreteReceiverGuard 上挂起

java - 通过socket将asn1数据从客户端发送到服务器

java - 如何将 JSON 数组解析为 Android 列表

c# - 看似无辜的 .NET 正则表达式使页面响应时间增加 10 倍

javascript - 将字符串分成三 block ,但最少为两 block

javascript - 正则表达式,匹配最后一个模式