失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql全角正则表达式_正则表达式问题 如何匹配全角空格?

mysql全角正则表达式_正则表达式问题 如何匹配全角空格?

时间:2018-10-08 07:37:45

相关推荐

mysql全角正则表达式_正则表达式问题 如何匹配全角空格?

你的位置:

问答吧

-> PHP基础

-> 问题详情

正则表达式问题,如何匹配全角空格?

如题,我写了一个要匹配回行两端所有连续半角和全角空格的正则表达式,如下:

~([\x20|\xa1a1]*)[\x0a|\x0d0a]+([\x20|\xa1a1]*)~i

但是不成功,总是将第一个空格前面的字符都匹配了进去,请各位帮我看看

作者: sanders_yao

发布时间: -04-12

我顶第一次

作者: sanders_yao

发布时间: -04-12

[[:space:]]

作者: changsheng7588

发布时间: -04-12

多谢楼上的,但是遇到全角空格似乎还是不行

$Exp = "~([[:space:]]*)[\r\n|\n]+([\x[[:space:]]*)~i";

$content = preg_replace($Exp, "\r\n", $content);

echo $content;

?>

作者: sanders_yao

发布时间: -04-12

不能放在[]里面

作者: 雨伞

发布时间: -04-12

不好意思上面的没有完全改过来

但是改完了还是不行:

~[[:space:]]*(\r\n|\n)+[[:space:]]*~i

[[:space:]]照楼上版主所说的不加[]的话会报错:

Warning: preg_replace(): Compilation failed: POSIX named classes are supported only within a class at offset 0

作者: sanders_yao

发布时间: -04-12

QUOTE:

原帖由 sanders_yao 于 -4-12 09:07 AM 发表

如题,我写了一个要匹配回行两端所有连续半角和全角空格的正则表达式,如下:

~(*)+(*)~i

但是不成功,总是将第一个空格前面的字符都匹配了进去,请各位帮我看看^[\xa1-\xa1\x20]*|[\xa1-\xa1\x20]*$

作者: yoryoue

发布时间: -04-12

谢谢楼上的,但是也不行

我的意思不是匹配文本两端的空格

而是类似" \n\n\r\n "这样的,一般是出现在文本中间

作者: sanders_yao

发布时间: -04-13

QUOTE:

原帖由 sanders_yao 于 -4-13 09:35 AM 发表

谢谢楼上的,但是也不行

我的意思不是匹配文本两端的空格

而是类似" \n\n\r\n "这样的,一般是出现在文本中间你的意思清除“每一行”字符串头尾的空格?不仅仅是整个字符串的头尾空格。是这个意思?

作者: yoryoue

发布时间: -04-13

我的意思是将字符串中所有换行两侧的空格(包括全角空格)匹配

我是否应该换个思路,先将字符串按照换行拆开再按楼上所做的匹配个部分两端的空格?

一会儿试一下

作者: sanders_yao

发布时间: -04-13

^[\xa1-\xa1\x20]*|[\xa1-\xa1\x20]*$m

作者: yoryoue

发布时间: -04-13

再次感谢楼上的

这种方法可以而且为了适应\r\n的换行需要稍微改一下

^[\xa1-\xa1\x20]*|[\xa1-\xa1\x20]*\r*$m

作者: sanders_yao

发布时间: -04-13

如果觉得《mysql全角正则表达式_正则表达式问题 如何匹配全角空格?》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。