php - 使用正则表达式从列表中排除名称

标签 php regex

如何使用正则表达式从列表中排除名称?

数据:

$subject=
"Damon Carson Stovall,
Bret Roman Mikulak,
Jack Filiberto Quirke,
Elroy Forrest Jarnagin,
Ulysses Wiley Cregger,
Brent Greg Jonah,
Bret Armand Daylong,
Ned Numbers Vandell,
Bret Alden Cutlip,
Bret Chung Markie,";

正则表达式:

// Select anyone with the first name of Bret
$pattern = "/Bret /";

我当前的解决方案:

// Loop through & Skip any line that matches Bret.
$subject_array = explode(",",$subject);

foreach($subject_array as $line)
  if(!preg_match($pattern, $line))
    echo "$line<br>";

最佳答案

是的,您可以选择名称中没有 Bret 的行

/^(?!Bret\b).*$/im

i 是忽略大小写选项

m 是多行选项

^ 描述字符串的开头

\b 描述非单词边界

(?!Bret\b) 是一个负向前瞻

因此,仅当前瞻为真时,^(?!Bret\b).*$ 才会选择 .* 字符串...即,如果字符串不'以 Bret 开头!

关于php - 使用正则表达式从列表中排除名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13750571/

相关文章:

php - PHP中的时间选择器

angularjs - 正则表达式验证输入字段中单词的第一个字母不是特殊字符

python - 将字符串分隔成括号、方括号和平面文本中的内容

javascript - 从字符串中删除引号/字符串的替代方案

php - 使用 PHP Simple DOM Parser 进行递归

javascript - php中有替换功能吗?就像 JavaScript 的 Replace()

php - 如何通过AJAX传递多个CheckBox值并进行处理?|

PHP 内存不足错误不反射(reflect) php.ini 中的 memory_limit 设置

java - 匹配行尾

php - 正则表达式特殊字符是否允许安全漏洞?