000klkj1-041-3501-0071-00000kjhh05601 56hj1 66553 78 546623
有效负载每次都遵循相同的结构,并且我试图找到位于3个空格(或3个空格?)之后的数值(在这种情况下" 78")。数字(最多1或2个数字)总是在3个空格之后;这是多个有效载荷之间唯一的共性。除了\ d +,我到目前为止还没有。非常感谢任何/所有帮助。
答案 0 :(得分:0)
很难理解你的问题,但如果你想在3个空格后获得数字,你可以使用这个正则表达式:
^(?:\S*\s+){3}(\d+)
<强> Working demo 强>
匹配信息:
MATCH 1
1. [50-52] `78`
MATCH 2
1. [114-116] `78`
答案 1 :(得分:0)
如果您的输入行包含由一个或多个空格组分隔的字段,则最简单的方法是使用split
而不是正则表达式:
String[] fields = inputString.split("\\s+");
现在fields[0]
是第一个字段,fields[1]
是第二个字段,等等,所以fields[3]
应该为您提供所需内容。