POSIX扩展正则表达式中“空格”的特殊字符/转义是什么?

时间:2014-10-16 05:39:47

标签: regex posix-ere

我是这个常规exp概念的新手。我正在尝试使用此注册表

[^@\s]+$

如果我将字符串作为“abs”,它的行为将不包括字符''。这意味着'\ s'被读作一个角色的'而不是一个空格。请帮我解决这个问题

2 个答案:

答案 0 :(得分:2)

您可以使用此POSIX等效项:

^[^@[:space:]]+$

[:space:]匹配任何空格,包括换行符。如果您想避免匹配换行符,请改为使用:[:blank:]

答案 1 :(得分:2)

POSIX中的空格字符类是[:space:],因此在您的情况下,您的正则表达式将是:

[^@[:space:]]+$

请注意,[:space:]不能在[]之外独立,如\d\s其他版本。仅空格字符类必须位于[]

[[:space:]]