Regexp仅在非空

时间:2015-10-01 13:08:11

标签: javascript regex

希望有人可以帮助我将此翻译为正则表达式,或指向正确的位置。大多数问题都是关于如何检查空白或如何匹配模式,而不是以下内容:

  1. 删除所有空格后面没有任何内容(以捕捉有人进入多个空格的想法......这对我们来说是空白的)
  2. 剥离后如果空白,则不执行任何操作
  3. 如果非空白,则匹配模式XYZ
  4. 我们知道我们的模式。 XYZ的东西有效。什么不起作用,这已成为必需的模式匹配。我们希望仅在值为非空白时验证此模式。我们如何在同一个正则表达式中捕获它?

    只是为了澄清:语言是Javascript。

1 个答案:

答案 0 :(得分:0)

Regexp并不总是可以实现一切的神奇东西。对于2个第一点,只需使用标准的javascript:

str = str.trim();
if (str && /xyz/.test(str)) {
    // Do fabulous stuff here
}

无论如何,如果你想要一个正则表达式,你可以试试这个:

/^[\t\n\r ]*XYZ[\t\n\r ]*$/

此正则表达式对空字符串无效。除非XYZ当然是.*