我有一些条件:
我想把19和("x“或”“)分开。一次或多次)和100次。我试着用regex:
(x|\.)+
要分组,但不能匹配以上所有情况。哪个正则表达式可以匹配以上所有的情况?
发布于 2018-03-12 16:12:58
你可以用
(\d+)(\s*[x.][x.\s]*)(\d+)
详细信息
(\d+)
-第1组:一个或多个数字(\s*[x.][x.\s]*)
-第2组:\s*
- 0+白空间[x.]
- x
或.
[x.\s]*
- 0+字符,可以是x
、.
或空格字符。
(\d+)
-第3组:一个或多个数字发布于 2018-03-07 08:09:05
您可以使用regex:
public static Matcher split(String text) {
Pattern pattern = Pattern.compile("(\\d+)(x*)(\\s*)(\\.*)(\\d+)");
Matcher matcher = pattern.matcher(text);
matcher.find();
return matcher;
}
此正则表达式适用于测试数据:
19xx.100
19x.100
19..100
19x .100
之后,matcher.group(1)
将返回19
,matcher.group(5)
将返回100
发布于 2018-03-07 09:00:14
对于您的示例,您可以在两个捕获组中捕获100和100之前的内容:
解释
(
\d+
x
、.
或空格[x. ]+
)
(\d+)
https://stackoverflow.com/questions/49146533
复制相似问题