- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在尝试用 Java 中的空格分割字符串,除了第一个和最后一个双引号之间的所有内容(这是一个特定情况,它们保证存在)。我对正则表达式相当陌生,但这是我在第一个和最后一个引号中找到子字符串的想法:
regex = ((?<=\").*(?=\"))
我已经在
https://regex101.com 上测试过了并对结果感到满意。
String input = "apple \"banana\"";
String[] arr = input.split("\\s+((?<=\").*(?=\"))");
它无法进行实际的拆分。
arr[0] == "apple", arr[1] == "banana"
我收到的输出:
arr[0] == "apple \"banana\""
我在这里缺少什么?任何指导将不胜感激。
最佳答案
您应该匹配这些字符串,这是一个可能的解决方案:
String input = "apple \"banana\"";
Pattern p = Pattern.compile("\"([^\"]*)\"|\\S+");
Matcher m = p.matcher(input);
List<String> results = new ArrayList<>(); // Declare a list
while (m.find()) {
if (m.group(1) != null) {
results.add(m.group(1)); // Add Group 1 to the list
} else {
results.add(m.group()); // Add the whole match value to the list
}
}
System.out.println(results); // Prints the resulting list
注意 : 如果您打算匹配第一个匹配的
"
之间的所有字符直到最后
"
,您可以使用
Pattern p = Pattern.compile("\"(.*)\"|\\S+");
.
apple
banana
"([^"]*)"|\S+
图案
matches :
"
- 一个 "
字符 ([^"]*)
- 第 1 组:除 "
之外的任何 0 个或更多字符"
- 一个 "
字符 |
- 或 \S+
- 1+ 个非空白字符。 关于java - 正则表达式拆分除指定子字符串以外的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62677132/
我已经坚持了好几天了……很抱歉遇到这样的问题,但是我只是F#本身的初学者。由于关于类型提供程序的讨论很多,所以我决定建立一个类型提供程序并撰写一篇有关它的论文。当我开始时,我不知道什么是类型提供程序。
我正在开发LAN项目唤醒功能,但是我想控制局域网中计算机是否打开。但是我不想使用ICMP或WMI(我的网络上有DC)。那么,对于此问题,是否还有其他选择,例如“套接字连接”,请检查特定端口是否正在使用
我们有一个旧的VB6应用程序,该应用程序使用Crystal Reports XI生成打印报告。我们已经通过经验发现,如果Crystal Reports打印引擎选择了错误版本的 usp10.dll (W
我正在尝试获取有效的 Android 权限列表。我知道 http://developer.android.com/reference/android/Manifest.permission.html
嗨,我是 nginx 的新手,我试图在我的服务器(运行 Ubuntu 4)上设置它,它已经运行了 apache。 所以在我 apt-get install 它之后,我尝试启动 nginx。然后我收到这
如何在VB 6中检查对象的类型-除了'TypeName'之外,是否还有其他方法,因为无法通过'TypeName'进行检查,我希望使用类似QuichWatch窗口的方法。 最佳答案 对于对象变量,请使用
我的 JSP 应用程序中有一个错误。发布后我的 session 被清除: YAHOO.util.Connect.asyncRequest('POST', Url, callback, post
我是一名优秀的程序员,十分优秀!