价值开头的空间不起作用

时间:2014-05-13 14:52:25

标签: regex

我有以下正则表达式,我想允许从一个空格(不是mandtory)开始, 我应该怎么做?我尝试使用以下内容并且无效

@"\s^[a-zA-Z0-9_]+\s*$"

3 个答案:

答案 0 :(得分:1)

您需要在开始的插入符号\s之后放置^ 。 e.g。

^\s?[a-zA-Z0-9_]+\s*$

注意我还在?添加了一个量词(\s)来表示"这可能会出现0或1次"。

此外,班级[a-zA-Z0-9_]可以替换为\w(这是相同的事情)。因此,缩短的模式变为:

^\s?\w+\s*$

含义:

^             # start of string
  \s?         # 0 or 1 whitespace character ([ \f\n\r\t\v])
  \w+         # 1 or more of the following: a-z, A-Z, 0-9, _
  \s*         # 0 or more whitespace characters ([ \f\n\r\t\v])
$             # end of string

答案 1 :(得分:1)

您可以使用此正则表达式:

@"^\s?\w+\s*$"
  • 您需要在可选^
  • 之前放置start enchor \s?
  • 另请注意,我使用的\w相当于[a-zA-Z0-9_]

答案 2 :(得分:1)

怎么样@“?[a-zA-Z0-9 _] + \ s * $”