【问题标题】:Regex matching whitespace and well as non-white space正则表达式匹配空白和非空白
【发布时间】:2012-08-06 15:57:16
【问题描述】:

我正在尝试匹配一个字符串。

  1. 字符串可以包含空格

  2. 字符串应至少包含一个非空白字符。

我试过了,

[^\s]

这是匹配所有非空白字符。

对上述正则表达式的任何改进都会有所帮助

【问题讨论】:

    标签: java regex


    【解决方案1】:

    如果问题可以简化为“任何问题,只要有一个非空白字符”,那么.*\S.* 应该可以工作。

    【讨论】:

    • +1,这也可以用^$ 分隔以匹配您拥有的整个字符串。
    • 困惑选择哪一个作为正确答案。既然你先回答了,我选择你的作为正确答案。 davidrac 和 Babak Naffas 的回答也有效。
    【解决方案2】:

    试试.*\S.*这应该符合你所追求的

    【讨论】:

    • tripleee 的回答更准确,如 '.'匹配空格。
    【解决方案3】:

    \S 等价于[^\s]。那是你的问题吗?

    【讨论】:

      【解决方案4】:

      更新,误读了问题。

      尝试.*\w.* 作为您的表达方式。这将匹配至少包含一个非空白的任何字符串。在定义您的正则表达式时,请确保转义反斜杠,因此请使用 ".*\\w.*" 作为您的字符串。

      【讨论】: