好问题
Good  Question
  • 首 页
  • 问题
    • PHP
    • JAVA
    • CPlusPlus
    • C#
    • SQL
  • 关 于
  • 联 系
在正则表达式中匹配一个空格 关闭 返回上一级  

在正则表达式中匹配一个空格
+ 查看更多

发布日期:2018-03-26 14:31
分类:PHP
浏览次数:913
我需要匹配PHP正则表达式中的空格字符。你们有什么想法吗?
我的意思是“gavin schulz”,两个词之间的空间。我使用正则表达式,以确保我只允许字母,数字和一个空格。但我不知道如何找到这个空间。这是我现在的情况。
$newtag = preg_replace("/[^a-zA-Z0-9s|]/", "", $tag);

回答

如果你正在寻找一个空间,那将是“ ”(一个空格)。
如果你正在寻找一个或多个,它是“ ”(两个空格和一个星号)或“ ”(一个空格和一个加号)。
如果你正在寻找共同的间距,使用“[ X]”或“[ X][ X]”或“[ X]”,其中X是物理制表符(每个前面都有一个空格在所有的那些实例)。
这些将工作在我见过的每一个*正则表达式引擎(其中一些甚至没有一个或多个“+”字符,ugh)。
如果你知道你将使用一个更加现代的正则表达式引擎,“\ 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
上一篇如何通过PHP检查网址是否存在?
在PHP中如何解压缩一个文件?下一篇
下一篇在PHP中如何解压缩一个文件?

最新文章

  • 函数`__construct`用来干嘛的
    发布日期:2018-03-26
  • 通过访客的IP得到他们的地区
    发布日期:2018-03-26
  • 合并两个PHP对象的最好的方法是什么?
    发布日期:2018-03-26
  • 该如何把一该如何把一个对象转化成数组?
    发布日期:2018-03-26
  • 什么是输出缓冲区?
    发布日期:2018-03-26
  • 在PHP中怎么把用逗号分隔的字符串分隔在一个数组里?
    发布日期:2018-03-26
  • 在PHP中使用foreach循环时查找数组的最后一个元素
    发布日期:2018-03-26
关于好问
收集整理一些有用的问题和回答,造福中国的程序旺和IT喵们!
友情链接
起飞页 
相关信息
版权声明
Copyright © 2016 - 2017  苏州卡达网络科技有限公司 好问 GOODQ.TOP 备案号:苏ICP备09008221号-5