我的正则表达式的一部分是:/<a .*?(" "|"")(href)
。在(" "|"")
内,我试图说要与空格或没有空格匹配,但我无法从中得到任何东西。我也试过("\s"|"")
而没有结果。
答案 0 :(得分:81)
“space or no space”与“零或一个空格”相同,或者可能是“零或多个空格”,我不确定你想要的是什么。
在下面的讨论中,我将使用<space>
来表示单个空格,因为在短代码片段中很难看到单个空格。在实际的正则表达式中,您必须使用实际的空格字符。
零或一空格表示为单个空格,后跟问号(<space>?
)。这将恰好匹配零个或一个空格。如果您想匹配零个或任意数量的空格,请将?
替换为*
(例如:<space>*
)
如果通过“space”实际上意味着“任何空白字符”(例如,选项卡),则可以使用大多数正则表达式引擎转换为空格的\s
。因此,任何空白字符中的零或一个为\s?
,零或多为\s*
答案 1 :(得分:6)
space
或no-space
问题的其他替代方法(注意某些开头的空格):
[ ]{0,1}
{0,1}
[ ]?
?