java - 与“String.split”不匹配两个字符序列之间的正则表达式
问题描述
解决方案
由于您的键值对由逗号和一些空格分隔,因此您可以使用此正则表达式在字符=
之前的每个逗号上拆分,=
,\s*(?=\w+=)
检查这些在所需位置拆分字符串的 Java 代码,
String[] data = "foo=\"bar, harbor\", url=http://city.com/start_city=Boston, MAUS&end_city=New York, NY US, is_test=false".split(",\\s*(?=\\w+=)");
Arrays.stream(data).forEach(System.out::println);
印刷,
foo="bar, harbor"
url=http://city.com/start_city=Boston, MAUS&end_city=New York, NY US
is_test=false
让我知道这是否适用于您的案例,如果没有,请添加它不起作用的案例。
推荐阅读
- ansible - 如何使用动态清单中的主机变量
- javascript - 过滤制表器中的所有数据
- python - 如何打乱列表,使每个特定长度的子列表都有唯一的项目?
- python - 轮播在 Windows 中运行良好,但在 android 中卡住了
- java - 在 WildFly/CXF Webservice 客户端中使用 DefaultSSLSocketFactory
- css - 在 Safari 的 flexbox 中拉伸图像
- python - 是什么导致此代码模型中的索引错误?
- java - 使用 Mockito (Kotlin) 在间谍对象上引发异常的存根方法
- forms - 如何使本 Powerapps 课程中有关编辑表单的代码生效?
- javascript - 检测浏览器对 CSS @Page 属性的支持