以下是几个例子:
NUM12345678OTHERSTR
NUM 123 45 678 OTHERSTR
NUM123 45-678 OTHERSTR
NUM 123 456 789 1011
我需要得到12345678
所以我需要选择位于某个标记NUM之后的数字,并且可能包含用空格和短划线混合的数字。这不是问题,我能够创建这样的模式。但我需要用另一个标记(OTHERSTR)或其长度来限制这个数字。我需要选择例如至少4位,最多8位数。我想过{4,8},但无法弄清楚如何将它仅应用于数字而不是空间等。有人可以帮助我吗?
答案 0 :(得分:0)
用于分隔字符串
(?<=NUM).*(?=OTHERSTR)
用于分隔字符数:
^\D*((?:\d\D*){4,8})
演示:http://regex101.com/r/aL6tE7
您将在第一个捕获组中获得123 456 78
,为此您可以使用空格的正则表达式替换来获取所需的输出。因此,基于您获得的结果,请对\D+
进行正则表达式替换。