gpt4 book ai didi

java - 正则表达式,如何识别由空格分隔的 2 或 3 个单词(任何非空格)

转载 作者:行者123 更新时间:2023-11-30 03:37:00 25 4
gpt4 key购买 nike

我正在使用 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*$"

DEMO

关于java - 正则表达式,如何识别由空格分隔的 2 或 3 个单词(任何非空格),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27638325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com