Java 以下表达式的正则表达式

Java 以下表达式的正则表达式,java,android,regex,pattern-matching,Java,Android,Regex,Pattern Matching,我目前正在做一个android应用程序。我试图编写一个正则表达式来从字符串中提取以下类型的表达式 表达式以方括号开始,其后可以是任意数量的字符。它后面是一个结束方括号。它后跟一个左括号,后跟任意数量的字符和一个右括号 [any character](any character) 例如 if you want to apply for admission [click 1 here](www.abc.gid/heyde/ hduef) starting in the year 2013. 我

我目前正在做一个android应用程序。我试图编写一个正则表达式来从字符串中提取以下类型的表达式

表达式以方括号开始,其后可以是任意数量的字符。它后面是一个结束方括号。它后跟一个左括号,后跟任意数量的字符和一个右括号

[any character](any character)
例如

if you want to apply for admission [click 1 here](www.abc.gid/heyde/ hduef) 
starting in the year 2013.
我需要从上述内容中提取[click 1 here]www.abc.gid/heyde/hduef

任何帮助都将不胜感激。

您可以在我测试过的示例上使用\[.*.\]\{.*.\}

这将分成两个较小的正则表达式:

\[.*?\],这是方括号,内有任何字符。 \{.*?\},这是带有任何字符的花括号。
这两个都在括号内使用非贪婪的。*。这样,如果每行有多个匹配项,则不会将两个匹配项都作为一个匹配项抓取。

好吧,只要不允许括号中包含括号,就不会太难:

\[[^]]+]\([^)]+\)
使用+如果希望括号内至少包含一个字符,则使用*否则

表达式匹配如下所示:

\[-匹配开口方括号

[^]]+-匹配所有不是结束方括号的内容

]-匹配封闭方括号

\-匹配开口圆形支架

[^]+-匹配不是结束圆括号的所有内容


\-匹配结束圆括号

到目前为止您是否尝试过任何操作?没有上述代码。无论如何,你可以开始@Jerry:编辑问题。请看一看,现在它是[] {}而不是[]?如果一行包含相同的两种模式,它考虑为一个例子:视图组INF [点击这里1 ] www. abcgID/HeyDE/Hudieo下面[点击这里1 ] www. abcgID/HeyDE/HuDeF-BLA-BLAbla@SHANib更新的答案是非贪婪的,应该注意这一点issue@SHANib而且在本例中,您将重新使用而不是{}。随着更多条件的增加,问题/正则表达式似乎在不断变化。在提问时,请确保在开始时注意所有这些情况,以便答案更正确、更有帮助,并且回答得更快、更有效。谢谢。。我会更加小心和简洁的b4发布一个问题。。。现在我有了明确的想法。。我想接受第二部分的两个或{},即[…]{…}或[…]。。。。。。。你能给我指路吗this@SHANib如果在[]之后需要两者,则可以在组内使用OR子句展开第二个括号。将这两个条件组合在一起,以确保其中一个条件发生在方括号之后:\[.*?\]\{.*?\}|\.*?\