我正在使用java,并正在尝试编写一个正则表达式,除了这个:
jkdsl;a asdfasdf asdfjkl;
而这个
789u 13789u
但不是这个
HJKs9
或者这个
hiop hiopwer rewk3 fheio2
到目前为止,我有这个,但它似乎不起作用(我使用了在线正则表达式测试器):
(S+s){2,3}
我认为:
\S+ 表示多个非空格
\s 表示空格
(X){2,3} 表示 X 连续出现 2-3 次(含)
我哪里做错了?
(我已经把它放在java中,因为\是一个转义"(\S+\s){2,3}"
)
匹配包含两个或三个单词的行。
^S+(?:s+S+){1,2}$
Java 正则表达式将是,
^\S+(?:\s+\S+){1,2}$
S+
匹配一个或多个非空格字符。 s+
匹配一个或多个空格字符。 {1,2}
称为重复量词,它将前一个标记重复(?:s+S+)
一次或两次。 $
断言我们处于行的尽头。
或
如果您的输入包含前面或后面的空格,请使用此选项。
"^\s*\S+(?:\s+\S+){1,2}\s*$"
演示