解释这个正则表达式

时间:2012-06-15 11:28:11

标签: php regex preg-replace

我是正则表达的新手, 任何人都可以帮我解释这句话:

$body = preg_replace('/\s{6,}/ms','',$body);

提前致谢。

3 个答案:

答案 0 :(得分:2)

$body = preg_replace('/\s{6,}/ms','',$body);

将空格(\s)替换为6到未定义的时间({6,}),没有任何内容。做这个多线。 (/m)。可以删除s,当您不使用“所有字符”字符(.)时,它不会添加任何值。

答案 1 :(得分:1)

删除至少6个连续空白字符的出现次数。

  

\ s - 空格

     

定义为(水平)制表符,空格,换行符,回车符或换页符。

模式修饰符无用btw:

  • m更改了^$
  • 的行为
  • s也会使.与换行符相匹配;否则它会在一条线的末端停止。

答案 2 :(得分:0)

基本上它的说法用连续六个空格替换任何东西。

\s  = space
{6,} = between 6 and (since the second number after the comman is blank) 6
\ms = Used together, as /ms, they let the "." match any character whatsoever, while still allowing "^" and "$" to match, respectively, just after and just before newlines within the string.

同时查看perldoc for perl regular expressions将来可能会有所帮助。