Page 1 of 1

请教一个关于换行符<br />的问题

Posted: Oct 11 2009, 23:02
by 不夜侯
有时bbs中有的帖子换行符<br />太多,造成大片空白。
因此想做个规则,换行符<br />如果连续8个以上,就替换成换行符<br />3个。
但不知换行符<br />表达式应该怎么写?
(\n )++{8,*}[^<] 或(<br />)++{8,*}[^<] 都不是的。
请教下,谢谢!

Re: 请教一个关于换行符<br />的问题

Posted: Oct 11 2009, 23:56
by phoenix

Code: Select all

(<br />\s+)+{8,*}

Re: 请教一个关于换行符<br />的问题

Posted: Oct 12 2009, 08:31
by 不夜侯
谢谢phoenix,原来要用\s匹配后面的空格。

Re: 请教一个关于换行符<br />的问题

Posted: Oct 15 2009, 21:37
by 不夜侯
又来请教phoenix了。

Code: Select all

(<br />\s+)+{8,*}
能匹配

Code: Select all

<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />

Code: Select all

<br />


<br />


<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
但是不能匹配以下<br />之间有空格的,难道 \s:不是像空格一样也会贪婪捕获所有的空格和制表符吗?

Code: Select all

<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />

Re: 请教一个关于换行符<br />的问题

Posted: Oct 15 2009, 23:27
by phoenix
你最后一个例子,<br />之间不是空格也不是制表符,否则可以匹配。

Re: 请教一个关于换行符<br />的问题

Posted: Oct 16 2009, 08:43
by ddbb
全角空格不是空格.......

是一个双字节的字符