java - 如何在Java正则表达式中限制多个空格?

标签 java regex

为 JavaFX 文本字段开发一种验证,其中允许单个空格,但不允许多个空格。

For example, "Apple Juice" -- correct "Apple Juice" -- incorrect should be restricted

if (title.matches("[a-zA-Z0-9 ]+"))

找到了几个链接,但不符合我的要求。我相信这更像是一个逻辑调整。

Whitespace Matching Regex - Java

Regex allowing a space character in Java

最佳答案

你可以这样做:

if (title.matches([a-zA-z]+[ ][a-zA-Z]+))
  • 第一个[a-zA-z]+检查空格之前是否有任何字符。
  • [ ]检查是否正好有一个空格。
  • 第二个[a-zA-z]+检查空格后是否有任何字符。

<小时/> 注意:仅当字符串之间存在空格时才会匹配。如果你想匹配像 Abcd<space> 这样的字符串或<space>Abcd ,(我使用 <spcace> 因为 SO 不允许同时存在两个空格)那么您可以替换 +* s.,即

if (title.matches([a-zA-z]*[ ][a-zA-Z]*))

关于java - 如何在Java正则表达式中限制多个空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37028708/

相关文章:

java - 等待 Swing 界面关闭后再继续

java - 在fragment中调用findViewById返回null

java - Netbeans 之外奇怪的 GUI/jar 行为

regex - 如何在Elasticsearch中编写此查询

javascript - 连接前瞻正则表达式并保留(所有)分隔符?

PHP preg_replace 的连续次数取决于匹配项?

java - 使用 Scanner 类写入文本文件

java - 加载数据、数据到数组、数组到JList

正则表达式在模式后提取文本

python - 在 Python 中分配和测试正则表达式?