【问题标题】:Regex - space between two words [duplicate]正则表达式 - 两个单词之间的空格 [重复]
【发布时间】:2018-02-23 18:39:50
【问题描述】:

我正在尝试编写一个正则表达式,使其只有两个单词,它们之间只有一个空格。两个单词不得少于三个字符。示例:乔·史密斯

【问题讨论】:

  • 欢迎来到 Stack Overflow!请使用tour 并通读help center,尤其是How do I ask a good question? 做你的研究,search 以获取有关 SO 的相关主题,然后试一试。 如果您在进行更多研究和搜索后遇到困难并且无法摆脱困境,请发布您的尝试minimal reproducible example,并具体说明您遇到的问题。人们会很乐意提供帮助。祝你好运!
  • 你试过什么?这不是免费的编码服务。也许有人会绝望地发布一个微不足道的片段,但这不是应该的工作方式。
  • 或“为我回答我的作业问题”服务:-)。但是,如果您尽自己的一份力量,我们仍然会提供帮助。

标签: javascript regex


【解决方案1】:

试试这个:

var tests = [
 " fail this",
 "and this ",
 "and me",
 "Pass this",
 "Fail this too",
 "three   spaces"
];

var re = /^[a-z]{3,}\s[a-z]{3,}$/i;
function isValid(str) {
  return re.test(str);
}

tests.forEach(
  function(str) {
    console.log('['+str+'] =', isValid(str));
  }
);
  • ^ - 行首
  • [a-z] - 允许 abcd 等到 z
  • {3,} - 前一个必须是 3 个或更多
  • \s - 一个空格。如果您不想包含所有空格,请将其更改为空格
  • [a-z] - 允许 abcd 等到 z
  • {3,} - 前一个必须是 3 个或更多
  • $ - 行尾
  • i 最后告诉它忽略大小写。

【讨论】:

  • 以后,请提出您的问题并提供您尝试过的示例。请阅读@T.J. 提到的如何提问。上面的人群。
  • 是否有与 PHP 一起使用的等价物?我已经尝试过 (/^(?=^.{7,32}$)[A-Za-z]+( [A-Za-z]+)?$/) 效果很好,但它没有确保第一个和第二个单词不少于3个字符
猜你喜欢
  • 2021-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-24
  • 2020-06-09
  • 1970-01-01
  • 2016-08-25
相关资源
最近更新 更多