简单的RegEx PHP

Liz*_*ard 1 php regex

我有一个字符串,我需要看看它是否包含以下"_archived".

我使用以下内容:

preg_match('(.*)_archived$',$string);
Run Code Online (Sandbox Code Playgroud)

但得到:

Warning: preg_match() [function.preg-match]: Unknown modifier '_' in /home/storrec/classes/class.main.php on line 70
Run Code Online (Sandbox Code Playgroud)

我是正则表达式的新手,所以这可能很容易.

或者我应该使用更简单的东西

strstr($string, "_archived");
Run Code Online (Sandbox Code Playgroud)

提前致谢

sat*_*ace 7

strstr($ string,"_ archived");

对于你描述的问题会更容易.

正如经常引用的那样

有些人在面对问题时会想"我知道,我会使用正则表达式".现在他们有两个问题. - 杰米·扎温斯基


Pat*_*and 6

在这种情况下,strstr就足够了,但要解决您的问题,您需要在正则表达式中添加分隔符.分隔符是一个特殊字符,用于启动和结束正则表达式,如下所示:

preg_match('/_archived/',$string);
Run Code Online (Sandbox Code Playgroud)

分隔符可以是许多不同的字符,但通常的选择是/,#和!.从PHP手册:

任何字符都可以用于分隔符,只要它不是字母数字,反斜杠()或空字节.如果必须在表达式本身中使用分隔符,则需要使用反斜杠进行转义.从PHP 4.0.4开始,您还可以使用Perl-style(),{},[]和<>匹配分隔符.

阅读所有关于PHP正则表达式语法在这里.

您可以在此处查看PHP手册中有效(和无效)模式的一些示例.