正则表达式在Word&之间获取数字数字

时间:2016-01-21 19:58:46

标签: regex

我有以下字符串:

[Tag|String|WORD012311120151218]

我如何从0123111获得WORD012311120151218 - 我遇到的问题是0123111是动态的,可以通过系统任意长度。

我的思维过程如下,但我似乎无法在搜索后立即获取:从WORD之后提取任何值并在日期20151218之前结束 - 日期每天都在变化,但它始终是将是8位数。

这可能吗?

3 个答案:

答案 0 :(得分:0)

/\[.*WORD([0-9]+)[0-9]{8,8}\]$/

应该这样做,并根据您正在使用的正则表达风味进行适当的逃避。 ([0-9]+)是您想要的,[0-9]{8,8}是日期的8个尾随数字。

答案 1 :(得分:0)

您可以使用此正则表达式:

.*WORD(\d+)\d{8}\].*

获取群组$1this link中的解释。

在Java中,它将是:

String input = "[Tag|String|WORD012311120151218]";
String num = input.replaceAll(".*WORD(\\d+)\\d{8}\\].*", "$1");
System.out.println(num); //prints 0123111

答案 2 :(得分:0)

“WORD012311120151218'.match(/(\ d +)(\ d {8} $)/)[1]