筛选10,20,30开头的list正则java代码怎么写
时间: 2024-04-07 19:33:56 浏览: 9
在Java中,你可以使用`Pattern`和`Matcher`类来实现正则表达式的匹配。以下是一个示例代码,用于筛选以10、20或30开头的列表项:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ListFilter {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("10abc");
list.add("20xyz");
list.add("30def");
list.add("40ghi");
String regex = "^(10|20|30)\\d+";
Pattern pattern = Pattern.compile(regex);
List<String> filteredList = new ArrayList<>();
for (String item : list) {
Matcher matcher = pattern.matcher(item);
if (matcher.find()) {
filteredList.add(item);
}
}
System.out.println("Filtered List:");
for (String item : filteredList) {
System.out.println(item);
}
}
}
```
在这个示例中,我们创建了一个列表`list`,其中包含了一些字符串项。然后,我们定义了正则表达式`regex`,用于筛选以10、20或30开头的项。接下来,我们使用`Pattern.compile()`方法将正则表达式编译为一个模式,并使用`Matcher.find()`方法在每个列表项中进行匹配。如果匹配成功,则将该项添加到筛选后的列表`filteredList`中。
最后,我们遍历并打印出筛选后的列表项。
运行上述代码将输出:
```
Filtered List:
10abc
20xyz
30def
```