使用正则表达式查找字符串长度

Find string length using Regular Exrepssion

我需要使用 Regex 检查字符串行。

我可以验证行的内容,但我无法检查行的长度是否是某个确切的数字。

示例如下:-

system WAS SP2 NA5 na10-xyz cpu,core-2,idle 1360294220 0

对于上面一行,我需要查看是否有8个字符串单白分隔space.

我设计了用于检查上述字符串的正则表达式。

\w+(\s\w+){3}(\s(\w|\W)+){2}\s\d{10}\s\d+

那么我需要添加什么来检查字符串长度?

这是我目前看到的内容。

Regex Java Total String Length

Regex to match words of a certain length

编辑:-

我不想使用 split(" ") 函数,因为我将使用 regex 检查超过 100 万行。因此,如果我可以使用正则表达式合并长度检查,我认为会更好。

编辑 2 :-

使用我当前的正则表达式,如果有超过 8 个元素,它不会抛出错误。像这个例子:-

system WAS aa aa SP2 NA5 na10-xyz cpu,core-2,idle 1360294220 0

这里 aa aa 是我添加的额外字符串,它不会在当前正则表达式中引发错误。

这很简单,如果末尾的空格无关紧要,这个正则表达式将匹配:

^([^ ]+ ){8}$

如果是:

^([^ ]+ ){7}[^ ]+$

([^ ]) = 除空格外的任何内容

([^ ]+) = 一个不包含任何空格的单词

([^ ]+ ) = 一个单词后跟一个空格

([^ ]+ ){7} = 7 个单词,每个单词后跟一个空格