正则表达式匹配,如果以空格开头或结尾

时间:2017-08-10 18:29:35

标签: javascript regex

如果我的字符串以任意数量的空格开头或以任意数量的空格结尾,我需要匹配我的字符串:

我目前的正则表达式还包括中间的空格:

(^|\s+)|(\s+|$)

如何解决这个问题以达到我的目标?

更新

这不起作用,因为它匹配空格。 我想选择整个字符串或行,如果它以空格开头或以空格结尾。

5 个答案:

答案 0 :(得分:3)

你可以用这个: https://regex101.com/r/gTQS5g/1

^\s|\s$

或者使用.trim(),你可以不使用正则表达式:

myStr !== myStr.trim()

答案 1 :(得分:2)

将其修改为以下

(^\s+)|(\s+$)

根据修改的OP,使用此模式^\s*(.*?)\s*$ Demo查看捕获组#1

^               # Start of string/line
\s              # <whitespace character>
*               # (zero or more)(greedy)
(               # Capturing Group (1)
  .             # Any character except line break
  *?            # (zero or more)(lazy)
)               # End of Capturing Group (1)
\s              # <whitespace character>
*               # (zero or more)(greedy)
$               # End of string/line

答案 2 :(得分:1)

将其修改为下面的正则表达式

(^\s+.*)|(.*\s+$)

您可以查看demo

答案 3 :(得分:1)

无需创建群组。您可以创建一个轮换。

^\s+|\s+$

Live demo

答案 4 :(得分:0)

这可以帮助您,请参阅demo here

^\s+.*|.*\s+$