我知道如何提取介于两个不同字符串之间的字符串,比如 [ 和 ],或者 ( ) 等等...
但我不知道如何获取一个字符之间的多个/所有字符串。 例如:
the *big* brown fox *jumps over* the *lazy* **dog**
它应该针对“*”返回:
big
jumps over
lazy
并且它还应该返回“**”的结果:
dog
所有的库、正则表达式模式等都不支持这种功能。
*dog**********
(对于 **dog**
它会匹配 **
和 **
)。 - Andy Turner**dog**
的编号。它会匹配dog
,看到链接了吗? - dryairship[\*]+
尝试尽可能匹配多个 *
。所以,它们已经消失了。我们只返回在 (
和 )
之间的部分。 - dryairship*dog**********
匹配。 - Andy TurnerString str="the *big* brown fox *jumps over* the *lazy* **dog**"
str = str.replace("**", "*");
然后执行你正在使用的提取方法
String test = "the *big* brown fox *jumps over* the *lazy* **dog**";
StringTokenizer st = new StringTokenizer(test,"*");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
indexOf
和substring
。 - Yassin Hajaj