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

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

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

嗯...对于匹配a或b ...也毫无疑问...;)

您应该看到正则表达式示例

如果要查找空格,则为""(一个空格)。

如果要查找一个或多个,则为" *"(两个空格和一个星号)或" +"(一个空格和一个加号)。

如果要查找公共间距,请使用"[ 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

他原来的正则表达式似乎要替换""字符。您正在否定空间,因此不会按预期"删除"他的空间。

引述:"只允许字母,数字和空格",加文斯原本的RE是错误的(这就是他问这个问题的原因)。我的RE删除了所有不属于其中之一的内容。

为什么空格必须位于匹配模式的末尾而不是中间?

@沃伦,它没有。这里的空格注释并没有说明该空间的去向,而是表示那里有一个空格(以防读者没有意识到)。

@Mike,不,不是这样。此处的意图是替换不在集合A-Za-z...中的所有字符。方括号内的尖号指示了这一点。将插入符号移动到方括号之外,将其含义更改为与字符串开头的集合中的字符匹配。

\040与空格字符完全匹配。

Regexp PHP参考

新链接

正则表达式PHP的转义序列

链接不再起作用

这是您需要了解的有关正则表达式空白的所有信息:

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

[[:space:]]空格

\s任何空格字符

\v垂直空格

\h水平空白

X忽略空格

在Perl中,该开关为\s(空格)。

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

在我看来,在这种情况下使用REGEX可能实在是太过分了。为什么不仅仅通过strpos来找到空格字符。同样,正则表达式中的空格字符也没有什么特别的,您应该能够像搜索其他任何字符一样搜索它。也就是说,除非禁用了模式空白,否则在这种情况下几乎没有必要。

I am using a regex to make sure that I

only allow letters, number and a space

然后,就像在现有内容上添加一个空格一样简单:

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

(请注意,我删除了s|似乎是无意的?当然s是多余的;如果需要,可以恢复|)

如果您特别想要* a *空间(仅在单个空间中),则将需要一个比此更复杂的表达式,并且可能需要考虑单独的非正则表达式逻辑。

您也可以将 b用作单词边界。对于这个名字,我会用这样的东西:

[^\b]+\b[^\b]+(\b|$)

编辑将其修改为Perl示例中的正则表达式

if( $fullname =~ /([^\b]+)\b[^\b]+([^\b]+)(\b|$)/ ) {

$first_name = $1;

$last_name = $2;

}

重新编辑根据您想要的内容:

$new_tag = preg_replace("/[\s\t]/","",$tag);

像这样使用它可以留出单个空间。

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

我正在尝试[[:space:]]在一个实例中,看起来WordPress中的博主正在使用非标准的空格字符。看起来会起作用。

php 正则匹配空格用什么,关于php:在正则表达式中匹配空格相关推荐

  1. 匹配正则_程序员入门基础:python正则表达式贪婪匹配和非贪婪匹配

    此文为python正则表达式的高阶入门,正则基础入门请参考程序员入门基础:python的正则表达式. 一.贪婪匹配和非贪婪匹配 举例说明概念: print('非贪婪匹配',re.search('el+ ...

  2. html语言的空格键,如何在如何在HTML中插入空格中插入空格

    方法 1 插入单个空格和制表符 1.插入一个非间断空格.一般来说,无论你按多少次空格键,HTML也只会在单词之间显示一个空白间隔.当你需要插入多个空格时,请输入 或 代码.[1] 它们名为" ...

  3. 去掉前后空格_mysql批量去掉某个字段字符中的空格

    mysql有什么办法批量去掉某个字段字符中的空格?不仅是字符串前后的空格,还包含字符串中间的空格,答案是 replace,使用mysql自带的 replace 函数,另外还有个 trim 函数. (1 ...

  4. php 字符去空格 无效,无法使用str_replace()去除PHP字符串中的空格

    嗨,我得到一个PHP字符串,我需要删除空格. 我使用了以下代码但是当我回显$classname时,它只显示仍然包含空格的字符串. $fieldname = the_sub_field('venue_t ...

  5. 正则表达式中匹配开头关键词和结尾关键词

    主要用到的功能(?:pattern).(?=pattern).(?!pattern).(?<=pattern)和(?<!pattern) 1.(?:pattern) ()表示捕获分组,() ...

  6. 正则表达式中匹配的特殊字符

    '\\s':匹配空格 '\\n':匹配换行符 '\\f':匹配换页符 '\\r':匹配回车符 '\\t':匹配制表符 '\\v':匹配垂直制表符 注:在使用split('\\s+');是可以匹配不止空 ...

  7. perl 中部分正则表达式中匹配非空字符和正常使用字符

    \w 表示匹配大小写英文字母.数字以及下划线,等价于'[A-Za-z0-9_]'. \S 表示匹配非空白字符,范围可广了,只要不是空格.换行符.制表符.换页符即可 你举的例子看不出区别,但你试试 my ...

  8. rn php,rn怎样在PHP的正则表达式中匹配到?

    如何匹配到rn? (\r\n)+好像不行? 回复讨论(解决方案) "/[rn]+/" 一定要放在双引号中,否则 rn 会被解释为 .r..n 或 '/[x0dx0a]+/' 我单独 ...

  9. php中的空格键,使用PHP使用数组键中的空格解析Json响应

    我收到一个邮政编码API的回复.但是,由于两个词之间存在空格,我无法弄清楚"地名"中的值.不太确定从这里去哪里. object(stdClass)#1 (4) { ["p ...

最新文章

  1. C语言程序设计 搜集C/C++编译器
  2. 用ajax更新div,如何使用ajax和jquery更新特定的div
  3. 或有资产(contingent asset)
  4. caffe 提取特征并可视化(已测试可执行)及在线可视化
  5. OpenCV Mat主要用法(2)_MatExpr
  6. mysql一对多关联查询分页_mysql一对多关联查询分页错误问题的解决方法
  7. 【eoeAndroid社区索引】android 条形码的知识汇总
  8. ORBSLAM2 文章翻译
  9. linux git difftool,git difftool 详解
  10. 2分钟学会小程序中使用vant组件库
  11. TCP可靠传输实现-滑动窗口协议
  12. 想学Python爬虫么?很简单的鸭~第二课
  13. Bypass Windows AppLocker
  14. 计算机启动蓝屏,电脑开机蓝屏详细解决方案
  15. uni-app H5实现扫码登录功能
  16. thinkphp3.2乐观锁源码解读与优化
  17. [ Linux ] 零散文件系统安装各种命令和软件的方法
  18. Python爬虫JD杜蕾斯源码
  19. PyTorch Geometric(PyG) torch_geometric.nn.conv.gcn_conv源码详解
  20. python中gbk字符原因报错_深入理解Python中的字符和编码,结合,了解,与

热门文章

  1. 每日一思(2022.5.4)——如何让自己成为富人
  2. 爱国者回应MID过渡平台性能仍基于Menlow
  3. 带您全面了解B2B2C免费商城系统
  4. C++标准模板库(STL)学习精要,看此文再配合参考手册轻松成高手!
  5. 光模块的传输距离受哪些方面的因素影响?
  6. web项目-estore商城系统
  7. 高斯消元(个人笔记)
  8. 心田花开学校七年级语文上册第二单元诗词鉴赏
  9. 智慧树c语言实验八函数,C君带你玩编程
  10. 前端代码质量-圈复杂度原理和实践