我需要使用正则表达式检查字符串行。
我可以验证行内容,但我无法检查行长度是否确切。
以下是示例: -
system WAS SP2 NA5 na10-xyz cpu,core-2,idle 1360294220 0
对于上面一行,我需要查看 8字符串是否用单个空格分隔。
我设计了正则表达式来检查上面的字符串。
\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(" ")
函数,因为我将使用正则表达式检查超过100万行。因此,如果我可以使用正则表达式合并长度检查,那么在我看来会更好。
编辑2: -
使用我当前的正则表达式,如果有超过8个元素,它将不会抛出错误。像这个例子: -
system WAS aa aa SP2 NA5 na10-xyz cpu,core-2,idle 1360294220 0
这里aa aa
是我添加的额外字符串,它不会抛出当前正则表达式的错误。
答案 0 :(得分:0)
这很简单,如果最后的空白并不重要,那么正则表达式会匹配:
^([^ ]+ ){8}$
如果确实如此:
^([^ ]+ ){7}[^ ]+$
([^ ])
=除了空白之外的任何东西
([^ ]+)
=一个不包含任何空格的单词
([^ ]+ )
=一个单词后面跟一个空格
([^ ]+ ){7}
=每个7个单词后跟一个空格