热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在现有正则表达式中支持空格字符-EnablingSpaceCharactersinCurrentRegularExpressions

本文探讨了在当前正则表达式中支持空格字符的方法。作者尝试在正则表达式中允许空白字符,但遇到了一些问题,导致该表达式无法正确识别空格。文章详细分析了问题的原因,并提出了解决方案,旨在提高正则表达式的灵活性和实用性。

I am trying to allow whites space in my regex. For some reason this expression will not allow white space. Here is my current regex

我试图在我的正则表达式中允许白色空间。由于某种原因,此表达式将不允许空格。这是我现在的正则表达式

preg_match( "/^[A-Za-z0-9?.,-=$@!&%';:)(_\s]+$/", $value )

2 个解决方案

#1


Perhaps the white space you try to match is not in the ascii range. (for example the non-breakable space). So you can try to add the u modifier to extend the \s character class to all the unicode whitespaces (by default \s contains only ascii whitespaces).

您尝试匹配的空白区域可能不在ascii范围内。 (例如不易碎的空间)。因此,您可以尝试添加u修饰符以将\ s字符类扩展为所有unicode空格(默认情况下,仅包含ascii空格)。

So try this:

试试这个:

preg_match( "/^[A-Za-z0-9?.,-=$@!&%';:)(_\s]+$/u", $value )

or this:

preg_match( "/(*UCP)(*UTF8)^[A-Za-z0-9?.,-=$@!&%';:)(_\s]+$/", $value )

Note: I suggest you to perform clever tests to be sure that whitespaces are really the problem. Note2: this pattern matches exactly the same thing, but it uses character ranges (take a look at the ascii table) and the case insensitive modifier i:

注意:我建议你进行巧妙的测试,以确保空白确实是问题所在。注意2:这个模式完全匹配相同的东西,但它使用字符范围(看一下ascii表)和不区分大小写的修饰符i:

preg_match( "/^[!$-'(),-=?@-Z_\s]+$/ui", $value )

#2


It does match whitespace:

它匹配空格:

preg_match("/^[A-Za-z0-9?.,-=$@!&%';:)(_\s]+$/", '   '); // true
preg_match("/^[A-Za-z0-9?.,-=$@!&%';:)(_\s]+$/", 'a a'); // true
preg_match("/^[A-Za-z0-9?.,-=$@!&%';:)(_\s]+$/", 'aaa'); // true
preg_match("/^[A-Za-z0-9?.,-=$@!&%';:)(_\s]+$/", 'a*a'); // false

推荐阅读
  • 本文介绍如何从字符串中移除大写、小写、特殊、数字和非数字字符,并提供了多种编程语言的实现示例。 ... [详细]
  • java文本编辑器,java文本编辑器设计思路
    java文本编辑器,java文本编辑器设计思路 ... [详细]
  • python开发mysql:单表查询&多表查询
    一单表查询,以下是表内容二多表查询,一下是表内容三总结&表创建过程单 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • JMeter接口关联与数据提取:正则表达式和JSON Extractor的使用
    在使用JMeter进行接口测试时,常常需要从前一个接口的响应中提取数据并应用于后续请求。本文将详细介绍如何利用正则表达式提取器(Regular Expression Extractor)和JSON Extractor来实现这一需求。 ... [详细]
  • 正则表达式是一种强大的文本匹配工具,但在不当使用时,也可能成为安全漏洞的源头,特别是当它们被恶意利用以触发拒绝服务(DoS)攻击时。本文将深入探讨正则表达式如何成为攻击者的目标,并提供防范策略。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 本文探讨了如何利用HTML5和JavaScript在浏览器中进行本地文件的读取和写入操作,并介绍了获取本地文件路径的方法。HTML5提供了一系列API,使得这些操作变得更加简便和安全。 ... [详细]
  • Google排名优化-面向Google(Search Engine Friendly)的URL设计 ... [详细]
  • 本文探讨了2019年前端技术的发展趋势,包括工具化、配置化和泛前端化等方面,并提供了详细的学习路线和职业规划建议。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 深入分析十大PHP开发框架
    随着PHP技术的发展,各类开发框架层出不穷,成为了开发者们热议的话题。本文将详细介绍并对比十款主流的PHP开发框架,旨在帮助开发者根据自身需求选择最合适的工具。 ... [详细]
  • js常用方法(1)startWithJava代码varstartsWithfunction(str,regex){if(regexundefined||strundefined|| ... [详细]
  • 优化JavaScript中的多条件判断逻辑
    本文探讨了在JavaScript中遇到复杂逻辑判断时,如何通过不同的方法优化if/else或switch语句,以提高代码的可读性和可维护性。 ... [详细]
  • 本文探讨了在JavaScript中执行字符串形式代码的多种方法,包括使用eval()函数以及跨页面调用的方法。同时,文章详细介绍了JavaScript中字符串的各种常用方法及其应用场景。 ... [详细]
author-avatar
捕鱼达人2502856571
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有