java 正则表达式"#T:\\s*(\\d+)\\s*((\\d+)-(\\d+))+"
时间: 2024-04-02 08:30:40 浏览: 15
Java正则表达式"#T:\\s*(\\d+)\\s*((\\d+)-(\\d+))+"
这个正则表达式可以用来匹配以"#T:"开头,后面跟着0个或多个数字,然后是一个或多个由连字符分隔的数字范围。
解析:
- "#T:":匹配以"#T:"开头的字符串。
- "\\s*":匹配0个或多个空白字符。
- "(\\d+)":匹配一个或多个数字。
- "((\\d+)-(\\d+))":匹配一个由连字符分隔的数字范围。
- "+": 匹配前面的子表达式一次或多次。
范例:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
public static void main(String[] args) {
String input = "#T: 123 1-5 10-15";
String regex = "#T:\\s*(\\d+)\\s*((\\d+)-(\\d+))+";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
String number = matcher.group(1);
String range = matcher.group(2);
String start = matcher.group(3);
String end = matcher.group(4);
System.out.println("Number: " + number);
System.out.println("Range: " + range);
System.out.println("Start: " + start);
System.out.println("End: " + end);
} else {
System.out.println("No match found.");
}
}
}
```
输出:
```
Number: 123
Range: 1-5
Start: 1
End: 5
```