当前位置:  开发笔记 > 编程语言 > 正文

匹配正则表达式中的空格

如何解决《匹配正则表达式中的空格》经验,为你挑选了5个好方法。

我需要匹配PHP正则表达式中的空格字符.有人有任何想法吗?

我的意思是"gavin schulz",这两个词之间的空间.我使用正则表达式来确保我只允许字母,数字和空格.但我不确定如何找到空间.这就是我现在所拥有的:

$newtag = preg_replace("/[^a-zA-Z0-9s|]/", "", $tag);

paxdiablo.. 342

如果你正在寻找一个空间,那就是" "(一个空间).

如果你正在寻找一个或多个,那就是" *"(那是两个空格和一个星号)或" +"(一个空格和一个加号).

如果您正在寻找共同的间距,使用"[ X]""[ X][ X]*""[ X]+"其中X是物理制表符(每个由一个单一的空间在所有这些例子之后).

这些将适用于我见过的每个*正则表达式引擎(其中一些甚至没有一个或多个"+"字符,呃).

如果你知道你将使用一个更现代的正则表达式引擎,"\s"它的变化是要走的路.另外,我相信单词边界也匹配行的开头和结尾,当你在寻找可能没有前后空格的单词时很重要.

特别是对于PHP,这个页面可能会有帮助.

从您的编辑中,您似乎想要删除所有无效字符.这是开头(请注意正则表达式中的空格):

$newtag = preg_replace ("/[^a-zA-Z0-9 ]/", "", $tag);
#                                    ^ space here

如果你也想要欺骗以确保每个单词之间只有一个空格,并且在开头或结尾都没有空格,那就更复杂了(可能是另一个问题),但基本的想法是:

$newtag = preg_replace ("/ +/", " ", $tag); # convert all multispaces to space
$newtag = preg_replace ("/^ /", "", $tag);  # remove space from start
$newtag = preg_replace ("/ $/", "", $tag);  # and end


davethegr8.. 43

\040 完全匹配空格字符.

Regexp PHP参考

Regex PHP的新链接
转义序列



1> paxdiablo..:

如果你正在寻找一个空间,那就是" "(一个空间).

如果你正在寻找一个或多个,那就是" *"(那是两个空格和一个星号)或" +"(一个空格和一个加号).

如果您正在寻找共同的间距,使用"[ X]""[ X][ X]*""[ X]+"其中X是物理制表符(每个由一个单一的空间在所有这些例子之后).

这些将适用于我见过的每个*正则表达式引擎(其中一些甚至没有一个或多个"+"字符,呃).

如果你知道你将使用一个更现代的正则表达式引擎,"\s"它的变化是要走的路.另外,我相信单词边界也匹配行的开头和结尾,当你在寻找可能没有前后空格的单词时很重要.

特别是对于PHP,这个页面可能会有帮助.

从您的编辑中,您似乎想要删除所有无效字符.这是开头(请注意正则表达式中的空格):

$newtag = preg_replace ("/[^a-zA-Z0-9 ]/", "", $tag);
#                                    ^ space here

如果你也想要欺骗以确保每个单词之间只有一个空格,并且在开头或结尾都没有空格,那就更复杂了(可能是另一个问题),但基本的想法是:

$newtag = preg_replace ("/ +/", " ", $tag); # convert all multispaces to space
$newtag = preg_replace ("/^ /", "", $tag);  # remove space from start
$newtag = preg_replace ("/ $/", "", $tag);  # and end



2> davethegr8..:

\040 完全匹配空格字符.

Regexp PHP参考

Regex PHP的新链接
转义序列



3> 小智..:

以下是您需要了解的关于正则表达式中的空格的所有内容:

[[:blank:]] 仅限空格或制表符

[[:space:]] 空白

\s 任何空白字符

\v 垂直空白

\h 水平的空白

x 忽略空格



4> Elsporko..:

在Perl中,开关是\s(空格).


这是不正确的 - 它收集所有空格,而不仅仅是空格字符.

5> Kibbee..:

在我看来,在这种情况下使用REGEX只会有点矫枉过正.为什么不只是strpos找到空格字符.此外,正则表达式中的空格字符没有什么特别之处,您应该能够像搜索任何其他字符一样搜索它.也就是说,除非您禁用了模式空白,否则在这种情况下几乎不需要.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有