【发布时间】:2021-12-29 10:32:52
【问题描述】:
我需要正则表达式来检查字符串是否只有一个单词(例如“This”、“Country”、“Boston”、“Programming”)。
到目前为止,我使用了另一种方法来检查字符串是否包含空格。但是,我确信这可以使用正则表达式来完成。
我认为一种可能的方式是"^\w{2,}\s"。这工作正常吗?还有其他可能的答案吗?
【问题讨论】:
-
“一个字”是什么意思?简单地说它是非空的并且不包含空格?如果是这样,
^\S+$会起作用。 -
你的问题的标题和第一句话可以有不同的解释。
-
@Thefourthbird 我编辑了它,让它更清晰。
-
所以 OP 有可能的前导/尾随空格?在这种情况下,
^\s*\S+\s*$可能会起作用。也许这个问题可以用不同的方式更好地解决,可能在数据的源头上? -
模式
^\w{2,}\s匹配字符串开头的 2 个或更多单词字符,后跟强制空白字符。这取决于对“单词”的要求是什么,但在 Java 中你也可以写^\h*\w{2,}\h*$regex101.com/r/eFDjky/1
标签: java regex regex-lookarounds regex-greedy