使用正则表达式查找字符串长度
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 个单词,每个单词后跟一个空格
我需要使用 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 个单词,每个单词后跟一个空格