在 php 正则表达式中使用否定查找,可以使用 ?! 运算符。语法:preg_match(‘/表达式 ?! 模式/’, $字符串)。具体案例包括:1. 查找包含数字但不包含字母的字符串:preg_match(‘/d+ ?! [a-za-z]/’, $字符串)。2. 查找不以 “a” 开头的字符串:^(?!a)[ws]+$。3. 查找不包含 “foo” 单词的字符串:/(?!foo)./。4. 查找不包含小写字母的字符串:/(?![a-z])./。
如何在 PHP 正则表达式中使用否定查找?
PHP 中的否定查找是一种强大的工具,用于查找不匹配特定模式的字符串部分。可以使用 ?! 运算符指定否定查找。
语法:
立即学习“”;
preg_match('/表达式 ?! 模式/', $字符串);
登录后复制
实际案例:
假设我们需要查找包含数字但不包含字母的字符串。我们可以使用以下正则表达式:
preg_match('/d+ ?! [a-zA-Z]/', '123abc'); // 不匹配 preg_match('/d+ ?! [a-zA-Z]/', '12345'); // 匹配
登录后复制
其他示例:
- 查找不以 “a” 开头的字符串:^(?!a)[ws]+$
- 查找不包含 “foo” 单词的字符串:/(?!foo).*/
- 查找不包含小写字母的字符串:/(?![a-z]).*/
注意事项:
- 否定查找是一个零宽度断言,它不会消耗输入字符串中的任何字符。
- 否定查找只能用于正则表达式的开头或 (?= 模式) 肯定查找后面。
- 可以连续使用多个否定查找来创建更复杂的模式。
以上就是如何在php正则表达式中使用否定查找?的详细内容,更多请关注php中文网其它相关文章!