有一种方法可以知道哪些字符与 preg_match 函数不匹配?例如:
preg_match('/^[a-z]*$/i', 'Hello World!');
是否有一些函数可以知道不正确的字符,在这种情况下是空格和“!”?
感谢您的回复,但您的示例中的问题是您没有指明字符串的开头和结尾。您的示例适用于另一个字符串中包含的字符串,而不适用于与我在模式中定义的字符串完全相同的字符串。
例如,如果我必须验证一个主题的意大利财政代码,它由一个格式如下的字符串组成:
XXX XXX YY X YY X YYY X (X = letter, Y = number - without spaces)
哪种模式是:
'/^[A-Z]{6}[0-9]{2}[A-Z]{1}[0-9]{2}[A-Z]{1}[0-9]{3}[A-Z]{1}$/i'
我必须验证与我在模式中定义的完全匹配的字符串。
如果我使用您的代码并且错误了 1 个(仅 1 个)字符,则整个字符串将作为错误返回。 http://eval.in/9178
反转模式的问题出现在复杂的模式中,其中插入了 AND 或 OR。
我想知道的是为什么 preg_match 会失败,而不仅仅是失败与否。