Regex 正则表达式混淆\s和"&引用;

Regex 正则表达式混淆\s和"&引用;,regex,Regex,在正则表达式中,我知道何时使用\s表示空间,但在以下情况下,它们是否会有所不同: /a\sb/---带\s /带空字段的a b/- 如果您能向我解释,非常感谢。字符类匹配所有的“空白字符”,而不仅仅是空格。这包括制表符(\t),如果允许多行匹配,则包括回车符(\r)和换行符(\n)。从理论上讲,如果正则表达式引擎处理unicode,则也有可以匹配的unicode空白字符,尽管您的里程数可能有所不同 因此,对于像“a\t b”这样的字符串,您可以将其与regex/a\s+b/匹配,以防对您有用。您

在正则表达式中,我知道何时使用\s表示空间,但在以下情况下,它们是否会有所不同:

  • /a\sb/---带\s
  • /带空字段的a b/-

  • 如果您能向我解释,非常感谢。

    字符类匹配所有的“空白字符”,而不仅仅是空格。这包括制表符(\t),如果允许多行匹配,则包括回车符(\r)和换行符(\n)。从理论上讲,如果正则表达式引擎处理unicode,则也有可以匹配的unicode空白字符,尽管您的里程数可能有所不同


    因此,对于像“a\t b”这样的字符串,您可以将其与regex/a\s+b/匹配,以防对您有用。

    您正在使用的regex引擎非常相关。在现代regex中:
    \s
    是一个空格,而不是
    /s
    ,在大多数情况下,它匹配任何空格,而不仅仅是空格,但不是所有空格。糟糕的是,我改为\s。我的意思是\s和“真实空间”是否不同。我知道这是一个奇怪的问题,但它仍然困扰着我很多。一个有用的PHP snippit可以用一个空格替换所有的“空白字符”,包括多个空格:$str=preg_replace('/\s+/','$str);