[英]Regular expressions for two or more words php
我有以下职位:
Reactive Customer Coach
Customer Reactive Coach
Technical Reactive Customer Coach
Field Engineer
Customer Engineer for FTTC
我想搭配:
Reactive Coach
(与Reactive
关键字或Coach
关键字在字符串中的位置无关)也希望与Engineer
关键字匹配(同样可以在字符串中的任何位置出现)
如果找不到这些关键字,则应返回FALSE
。
对于上述情况,什么是合适的正则表达式? (我是正则表达式的新手,所以我自己还没有尝试过任何东西)
您可以在PHP中尝试使用此正则表达式:
(?|(\bReactive\b).*?(\bCoach\b(?! *OM\b))|(\bCoach\b).*?(\bReactive\b)|(\bEngineer\b))
(?!...)
是一个非捕获组 。 在此构造的每个替代方案中声明的子模式将从相同的索引开始。
对于简单的匹配,不需要regexp
<?php
/**
*/
error_reporting(E_ALL);
ini_set('display_errors',1);
$in = [
'Reactive Customer Coach'
,'Customer Reactive Coach'
,'Technical Reactive Customer Coach'
,'Field Engineer'
,'Customer Engineer for FTTC'
,'No such as'
];
function x($s) {
if ( false !== mb_strpos($s,'Reactive') ) {
return false !== mb_strpos($s,'Coach');
}
return false !== mb_strpos($s,'Engineer');
}
foreach ($in as $i) {
echo $i,' ',x($i)?'Match':'',"\n";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.