添加特殊字符时,正则表达式匹配失败

考虑一下

$uri = '/post/search/foo';

$pattern = '~/post/search/[A-Za-z0-9_-]+(?=/|$)~i';

$matches = array();

preg_match($pattern, $uri, $matches);

print_r($matches); // Success

[A-Za-z0-9_-]属于,因此效果很好foo由于我正在编写一个路由插件,因此我希望它也能够匹配特殊字符。

我想象一个正则表达式模式是这样的:

[A-Z0-9!@#$%^&*()_+|\/?><~"№;:'*]+(?=/|$)

我试图用斜杠对每个特殊字符进行转义,并preg_quote()在没有运气的情况下对整个模式进行转义-我总是遇到编译失败。

问题是,如何进行正确的匹配A-Z0-9!@#$%^&*()_+|\/?><~"№;:'*应该怎么办?

林俊

您是否有不想只使用不满意的理由.

如:

'~/post/search/.+(?=/|$)~iU'

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式与特殊字符元字符匹配

来自分类Dev

Perl正则表达式以匹配特殊字符

来自分类Dev

正则表达式与特殊字符组匹配

来自分类Dev

正则表达式以匹配特殊字符+数字

来自分类Dev

将特殊字符与正则表达式匹配

来自分类Dev

Java正则表达式以匹配特定的特殊字符

来自分类Dev

Python 正则表达式匹配特殊字符

来自分类Dev

向正则表达式添加特殊字符

来自分类Dev

特殊字符的正则表达式

来自分类Dev

特殊字符正则表达式

来自分类Dev

特殊字符$的正则表达式

来自分类Dev

正则表达式匹配失败

来自分类Dev

匹配正则表达式时排除某些字符

来自分类Dev

正则表达式后跟字符时不匹配

来自分类Dev

添加更多字符时正则表达式不匹配

来自分类Dev

当末尾有特殊字符时,在线工具上的正则表达式匹配在Java中不匹配

来自分类Dev

正则表达式匹配字符

来自分类Dev

正则表达式匹配带特殊字符或不带重音字符的字符串?

来自分类Dev

正则表达式:匹配所有特殊字符,但不匹配*

来自分类Dev

匹配精确词的正则表达式影响特殊字符匹配

来自分类Dev

正则表达式以匹配包含特殊字符的数字字符串

来自分类Dev

正则表达式模式以匹配未被特殊字符包围的字符

来自分类Dev

Perl:转义字符串中的特殊字符以匹配正则表达式

来自分类Dev

正则表达式需要在字符串开头匹配特殊字符

来自分类Dev

正则表达式:在开头或某些特殊字符后匹配字符串

来自分类Dev

正则表达式在两个字符之间匹配特殊字符

来自分类Dev

使用正则表达式匹配包含数字和特殊字符的字符串

来自分类Dev

正则表达式匹配特殊模式

来自分类Dev

正则表达式Perl中的特殊行匹配

Related 相关文章

热门标签

归档