Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 整个字符串的正则表达式匹配_Php_Regex - Fatal编程技术网

Php 整个字符串的正则表达式匹配

Php 整个字符串的正则表达式匹配,php,regex,Php,Regex,我对php非常陌生。我需要检查一个给定的字符串是否有来自给定集合的字符,比如{a,b,c}。所以,我在尝试正则表达式“(abc)+“应该可以做到这一点 但是,查看preg_match和相关函数的手动条目,我注意到这些函数执行子字符串匹配,而不是将整个字符串与regex规则匹配 我相信有一个简单的方法可以做到这一点。基本上,无论整个字符串是否符合规则,我都需要一个二进制答案。你们能帮帮我吗 谢谢 您可以尝试匹配任何其他字符,而不是将整个字符串与所需的字符匹配,如果只有一个匹配,则该字符串不符合您的

我对php非常陌生。我需要检查一个给定的字符串是否有来自给定集合的字符,比如
{a,b,c}
。所以,我在尝试正则表达式<代码>“(abc)+“应该可以做到这一点

但是,查看
preg_match
和相关函数的手动条目,我注意到这些函数执行子字符串匹配,而不是将整个字符串与regex规则匹配

我相信有一个简单的方法可以做到这一点。基本上,无论整个字符串是否符合规则,我都需要一个二进制答案。你们能帮帮我吗


谢谢

您可以尝试匹配任何其他字符,而不是将整个字符串与所需的字符匹配,如果只有一个匹配,则该字符串不符合您的规则

用这样的方法:

[^abc]

您可以尝试匹配任何其他字符,而不是将整个字符串与所需的字符匹配,如果只有一个匹配,则该字符串不符合您的规则

用这样的方法:

[^abc]

可以使用方括号创建角色类。因此,
[abc]
将匹配类中的任何字符(括号)

要得到一系列它们,你需要一个量词。您已经使用了表示一个或多个的
+
。如果还希望允许空字符串,可以使用
*
表示零或更多

为了确保您正在检查完整的字符串,您需要锚定
^
将匹配字符串的开头和
$
字符串的结尾

^[abc]+$
如果完整字符串仅由
abc
组成且至少有一个字符,则此正则表达式将匹配


您可以在线测试正则表达式,例如在正则表达式上。当然,您可以修改它。

您可以使用方括号创建角色类。因此,
[abc]
将匹配类中的任何字符(括号)

要得到一系列它们,你需要一个量词。您已经使用了表示一个或多个的
+
。如果还希望允许空字符串,可以使用
*
表示零或更多

为了确保您正在检查完整的字符串,您需要锚定
^
将匹配字符串的开头和
$
字符串的结尾

^[abc]+$
如果完整字符串仅由
abc
组成且至少有一个字符,则此正则表达式将匹配


您可以在线测试正则表达式,例如在正则表达式上。当然,您可以修改它。

您尝试过将正则表达式应用于测试字符串吗?请参阅,以获得更好的介绍,并查找
^
$
断言。@mario:那么,您是说“^(abc)+$”对我有用吗?这会检查整个字符串,是的。但不,它不会做你想做的。你的语法是错误的。需要一个字符
[]
类,而不是
()
组。您尝试过将正则表达式应用于测试字符串吗?请参阅更好的介绍,并查找
^
$
断言。@mario:那么,您是说“^(abc)+$”对我有效吗?这会检查整个字符串,是的。但不,它不会做你想做的。你的语法是错误的。需要字符
[]
类,而不是
()
组。