gpt4 book ai didi

java - 如何匹配两个字符之间的任何内容?

转载 作者:行者123 更新时间:2023-12-01 07:32:24 24 4
gpt4 key购买 nike

如何编写一个正则表达式来匹配两个特定字符之间的任何内容?

喜欢:

忽略我[take:me]忽略我

如何匹配包容性[take:me]

单词 take:me 是动态的,因此我还想匹配 [123as d:.-,§""§%]

最佳答案

您可以使用此正则表达式:

“\\[(.*?)\\]”

这个link应该可以帮助您理解它为何有效。

Pattern pattern = Pattern.compile("\\[(.*?)\\]");
Matcher matcher = pattern.matcher("ignore me [take:me] ignore me");
if (matcher.find()) {
System.out.println(matcher.group(1));
}

这将打印 take:me

<小时/>

如果你想匹配 &([take:me]) 你应该使用这个:

&\\(\\[(.*?)\\]\\)

并不是说您应该转义正则表达式中具有特殊含义的字符。 (如 ())。

通过添加反斜杠来转义它们,但由于 Java 中的反斜杠写为 \\,因此您可以在任何具有特殊含义的字符之前添加 \\。因此,通过执行 \\( ,您可以告诉 Java:“( 作为常规字符,而不是特殊字符”。

关于java - 如何匹配两个字符之间的任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16273143/

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