Jay*_*ate -1 java regex string
我有一个像 "[5 TO 100]%" 这样的字符串,我想在正则表达式的帮助下匹配它
此字符串中的 5 和 100 可以更改,例如 5 的范围可以从 1 到 999,而 100 也是如此
其他人会照原样,所以基本上我想匹配“[num1 TO num2]%”
- 编辑 -
重复目标仅部分满足要求,因为字符串具有非数字字符(字母和特殊字符,如[、]、 和%)。
您可以使用正则表达式,(?i)\[[1-9][0-9]{0,2} TO [1-9][0-9]{0,2}\]%.
如果您不希望以不区分大小写的方式进行匹配,请删除(?i).
演示:
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
Stream.of(
"[5 TO 100]%",
"[0 to 100]%",
"[10 TO 15]%",
"[999 to 1]%",
"[1000 TO 100]%",
"[5 TO 10000]%"
).forEach(s -> System.out.println(s.matches("(?i)\\[[1-9][0-9]{0,2} TO [1-9][0-9]{0,2}\\]%")));
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
true
false
true
true
false
false
Run Code Online (Sandbox Code Playgroud)