Php 使用部分词和完整词搜索正则表达式词边界
我正在寻找这个结果:Php 使用部分词和完整词搜索正则表达式词边界,php,regex,preg-match,Php,Regex,Preg Match,我正在寻找这个结果: -内部传输 -客户经理 这样做的正确方法是什么?您可以使用 $str = 'Company Name Internal Transport Worldwide Account Manager New Business'; I tried: $re = "/\b(internal.transport|accountmanag|account.manag).*\W/mi"; // result: Internal Transport $re = "/\b(inte
-内部传输
-客户经理 这样做的正确方法是什么?您可以使用
$str = 'Company Name Internal Transport Worldwide
Account Manager New Business';
I tried:
$re = "/\b(internal.transport|accountmanag|account.manag).*\W/mi";
// result: Internal Transport
$re = "/\b(internal.transport|accountmanag|account.manag)\w+/mi";
// result: Account Manager
$re = "/\b(internal.transport|accountmanag.`*|account.manag.`*)\W/mi";
// result: Internal Transport, Account Manager New
preg_match($re, $str, $matches);
见
详细信息
-单词边界\b
-与三个备选方案中的任何一个匹配的非捕获备选方案组:(?:内部\Wtransport | accountmanag | account\Wmanag)
-internal\Wtransport
,一种非单词字符,internal
transport
-或|
-accountmanag
accountmanag
-或|
-account\Wmanag
,一种非单词字符,account
manag
-0+字字符\w*
$str = 'Company Name Internal Transport Worldwide
Account Manager New Business';
$re = "/\b(?:internal\Wtransport|accountmanag|account\Wmanag)\w*/i";
if (preg_match_all($re, $str, $matches)) {
print_r($matches[0]);
}
找到了一些东西,这似乎有效:“/\b(internal.transport | accountmanag | account.manag)\w*/mi”
$str = 'Company Name Internal Transport Worldwide
Account Manager New Business';
$re = "/\b(?:internal\Wtransport|accountmanag|account\Wmanag)\w*/i";
if (preg_match_all($re, $str, $matches)) {
print_r($matches[0]);
}
Array
(
[0] => Internal Transport
[1] => Account Manager
)