我有以下正则表达式,我想允许从一个空格(不是mandtory)开始, 我应该怎么做?我尝试使用以下内容并且无效
@"\s^[a-zA-Z0-9_]+\s*$"
答案 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*$"
^
\s?
\w
相当于[a-zA-Z0-9_]
答案 2 :(得分:1)
怎么样@“?[a-zA-Z0-9 _] + \ s * $”