gpt4 book ai didi

java - 如何在Java中的正则表达式中转义 "["

转载 作者:太空宇宙 更新时间:2023-11-04 12:51:38 27 4
gpt4 key购买 nike

我在 Java 中转义字符时遇到问题。我的代码如下所示:

 String pattern = "^\\[set (\\d+) (\\d+) \\]$";
Scanner sc = new Scanner(System.in);
// Create a Pattern object
Pattern r = Pattern.compile(pattern);

// Now create matcher object.

while (true) {
String line = sc.nextLine();
Matcher m = r.matcher(line);
if (m.find()) {
System.out.println("Found value: " + m.group(1));
System.out.println("Set value: " + m.group(2));
} else {
System.out.println("NO MATCH");
}
}

我想搜索这样的指令:

[set 6 7]

如何做到这一点?

最佳答案

如果您不确定可能有多少个空格,请使用 \s+ 匹配 1 个以上的空格,使用 \s* 匹配零个或多个空格。

查看sample demo :

String rx = "\\[set\\s+(\\d+)\\s+(\\d+)\\s*]";
Pattern p = Pattern.compile(rx);
Matcher m = p.matcher("[set 6 7]");
if (m.find()) {
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
}

请参阅regex demo

关于java - 如何在Java中的正则表达式中转义 "[",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35778377/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com