java正则匹配这段字符串 $江龙船艇(300589)$,$万里马(300591),$江龙船艇(300589),$万里马(300591)$返回$江龙船艇(300589)$这样的格式4个子字符串
时间: 2023-09-04 09:12:03 浏览: 149
Java实现字符串匹配(基于正则)
好的,您可以使用如下的 Java 代码来匹配这段字符串,并返回符合要求的子字符串数组:
```java
import java.util.regex.*;
public class RegexTest {
public static void main(String[] args) {
String str = "$江龙船艇(300589)$,$万里马(300591),$江龙船艇(300589),$万里马(300591)$";
Pattern pattern = Pattern.compile("\\$.+?\\(\\d+\\)\\$");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}
```
输出结果为:
```
$江龙船艇(300589)$
$万里马(300591)$
$江龙船艇(300589)$
$万里马(300591)$
```
可以看到,这段代码使用了与上面相似的正则表达式,但是没有加上匹配可选的以 `,` 开头,后面跟着 `$` 的部分。同时,在 `Matcher` 对象中使用 `find()` 方法来逐个匹配符合条件的子字符串,并将其输出。
阅读全文