使用正则表达式排除部分字符串
Exclude part of string using Regular expression
我有一个地址
New street 4
462005 MG Road
Tel .: 02281 / 93-1-212
Fax .: 02681 / 93-1148
我想要 "Tel" 之前的字符串并删除 "Tel"
之后的任何内容
New street 4
462005 MG Road
我试过的是
(?!^Tel$)(^.*$)
但它只给出了第一行。 新街 4
如何在没有任何 PHP 函数的情况下使用正则表达式实现此目的。
这应该可以解决问题
替换
([\s\S]*?)(Tel[\s\S]*)
有
确保激活单行模式:
(?s).*?(?=Tel)
演示:https://regex101.com/r/dX7kU7/1
编辑:
一点改进:这个更新版本应该更健壮一点,并在新行以 Tel
开头时停止,即当街道名称包含子字符串 Tel
: https://regex101.com/r/dX7kU7/2
原创! )))
if (false !== $pos = strpos($str, 'Tel')) {
$str = substr($str, 0, $pos);
}
我有一个地址
New street 4
462005 MG Road
Tel .: 02281 / 93-1-212
Fax .: 02681 / 93-1148
我想要 "Tel" 之前的字符串并删除 "Tel"
之后的任何内容New street 4
462005 MG Road
我试过的是
(?!^Tel$)(^.*$)
但它只给出了第一行。 新街 4
如何在没有任何 PHP 函数的情况下使用正则表达式实现此目的。
这应该可以解决问题
替换
([\s\S]*?)(Tel[\s\S]*)
有
确保激活单行模式:
(?s).*?(?=Tel)
演示:https://regex101.com/r/dX7kU7/1
编辑:
一点改进:这个更新版本应该更健壮一点,并在新行以 Tel
开头时停止,即当街道名称包含子字符串 Tel
: https://regex101.com/r/dX7kU7/2
原创! )))
if (false !== $pos = strpos($str, 'Tel')) {
$str = substr($str, 0, $pos);
}