在一个正则表达式中preg_match多个东西

Kri*_*eth 2 php regex

我需要一个匹配多个东西的正则表达式.

我试图做的是,如果网址不包含某些单词,则发送邮件.(.xml,.jpg,.ico)

我的尝试,没有用:

if (!preg_match("/(\.xml)|(\.jpg)|(\.ico)/", $url))
mail("mail@mail.com", "the url doesnt contain .xml, .jpg or .ico", $url);
Run Code Online (Sandbox Code Playgroud)

Mic*_*ski 5

你快到了.将三种扩展类型包含在一个()分隔的组中,|并保持其.外部.此外,我添加了一个$到最后,表明文件扩展名出现在字符串中的最后一个东西,所以像是example.xml.com不会意外匹配.

if (!preg_match("/\.(xml|jpg|ico)$/", $url)) {

}
Run Code Online (Sandbox Code Playgroud)

  • @Kristian不要.正则表达式是一个非常复杂的主题,其中经验和实践发挥了重要作用. (3认同)