[英]Regex pattern issue
我有以下字符串:
!date +10 (yyyy-MM-dd'T'HH:mm:ssz)
该字符串也可以是(注意减号而不是加号。:
!date -10 (yyyy-MM-dd'T'HH:mm:ssz)
我需要一个正则表达式模式,该模式将提取+(或-)后的数字。 可能有多个数字。
我还需要一个模式来提取方括号()的内容;
我在regex pal上玩耍。 但无法获得工作模式。
干杯。
要选择数字和括号内容,您可以执行以下操作:
String str = "date +10 (yyyy-MM-dd'T'HH:mm:ssz)";
Matcher m = Pattern.compile(".*[+|-](\\d+).*\\((.*)\\).*").matcher(str);
if (m.matches()) {
System.out.println(m.group(1));
System.out.println(m.group(2));
}
此正则表达式应使您与第一个和第二个捕获组中+/-后面的数字和括号内容分别匹配:
"!date\\s[+-](\\d+)\\s\\(([^)]*)\\)"
以下正则表达式导致2个捕获组具有所需的内容
"!date\\s[+-](\\d+)\\s\\((\\d{4}-\\d{2}-\\d{2}'T'\\d{2}:\\d{2}:\\d{2}z)\\)"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.