首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP -特殊字符串的正则表达式

PHP -特殊字符串的正则表达式
EN

Stack Overflow用户
提问于 2012-12-20 18:47:01
回答 4查看 43.5K关注 0票数 11

早上好。我正在尝试确定一个字符串是否包含特定字符的列表。

我知道我应该使用preg_match,但我的正则表达式知识很差,而且我无法从这个站点周围的其他帖子中收集任何信息。因为它们中的大多数只想将字符串限制为a-z、A-Z和0-9。但我确实希望允许某些特殊字符,例如:! @ £和其他不在以下字符串中的字符。

要匹配的字符:# $ % ^ & * ( ) + = - [ ] \ ' ; , . / { } | \ " : < > ? ~

代码语言:javascript
运行
复制
private function containsIllegalChars($string)
{
    return preg_match([REGEX_STRING_HERE], $string);
}

我最初用Javascript编写匹配,它只是遍历字符串中的每个字母,然后遍历另一个字符串中的每个字符,直到找到匹配。回过头来看,我真不敢相信我竟然试图使用这样一种古老的方法。随着json的出现(以及应用程序的重写!),我将匹配切换到php,以通过json返回错误消息。

我希望正则表达式专家可以帮助将上面的字符串转换为正则表达式字符串,但任何反馈都将不胜感激!

EN

Stack Overflow用户

发布于 2015-12-31 04:48:15

我认为您要查找的内容可以通过包含您想要允许的字符来大大简化,如下所示:

代码语言:javascript
运行
复制
preg_match('/[^\w!@£]/', $string)

以下是正在发生的事情的快速分析:

  • ^ = not included
  • \w =字母和数字
  • !@£=您还希望允许

的字符列表

票数 1
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13970412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档