我对一些字符串清理的正则表达式有一些问题......
我想:
1) 如果第一个字符是西里尔文 => 删除所有字符,直到字符串中的第一个数字或拉丁字符
2) 如果第一个字符是拉丁文 => 保存字符直到字符串中的第一个西里尔字符
我有模式的部分:
$pattern = '/[(\s)(a-zA-Z0-9)(\№)(\_)(\-)(\.)(\/)(\s)(\,)(\' )(\")(\*))^(\(\))]*\s/u';
但是对于第二部分,如果拉丁字符的位置是输入字符串的中间,我什么都没有输出......
有人可以帮我编辑正则表达式吗?
谢谢
例如($in[必须在结果中]):
foreach($in as $item){
$matches = array();
$result = preg_match ($pattern, $item, $matches);
print_r($matches);
}
$in = array();
$in[RZL 200 -200] = 'RZL 200 -200 литров, Накопительный электроводонагреватель';
$in[EKH 50U-] = 'EKH 50U-Вертикальный электроводонагреватель 50 литров';
$in[EKF 70U,] = 'EKF 70U, Суперплоский электрический водонагреватель -70 литров, Глубина=320 мм';
$in[FF06 1/2"AA] = 'FF06 1/2"AA фильтр механической очистки ,на холодную воду.';
$in[FF06 1"AA,] = 'FF06 1"AA, фильтр механической очистки на холодную воду.';
$in[F76 S 1/2" AA (AB, AC, AD),] = 'F76 S 1/2" AA (AB, AC, AD), фильтр механической очистки , на холодную воду';
$in[ProfiRoll-2000, 13,3-18,2, 2000] = 'ProfiRoll-2000, 13,3-18,2, 2000 Вт, Телый пол в цементно-песчаную стяжку';
$in[ProfiMat 160-2,0] = 'ProfiMat 160-2,0 кв.м, 0,320 Вт';
$in[№203 ,] = 'Набор №203 , Набор фильтрэлементов №203(A560,A-560E,Em,Ecp,A-575E,Em,Ecp)';
$in[A-575Ep box MAX,] = 'A-575Ep box MAX, Система обратного осмоса, 5 ступеней очистки со встроенным баком, насосом повышения давления и индикатором качества воды, 380 л/сутки (Россия)';
$in[1500 (] = 'Емкость из ПЭ 1500 (ЕЭЦ1500) л, цилиндрическая вертикальная для питьевой воды';
$in[HLA-12R-B] = 'Алюминиевый радиатор HLA-12R-B';
$in[SLH 25/L30 ST] = 'Система обогрева трубопроводов SLH 25/L30 ST';
$in[FFH 400/12,0] = 'Нагревательный мат FFH 400/12,0';
$in[AF11S-1A,B,С,D,E,F.] = 'AF11S-1A,B,С,D,E,F.Запасная сетка для F76S,СS,FK76CS и HS10S (от 1/2" до 11/4"), 100,20,50,200,300,500микрон';
$in[A-11 BE (BIG BLUE 10)] = 'Фильтр A-11 BE (BIG BLUE 10) В сборе с кронштейном,ключом и фильтрующим элементом,1 ступень очистки (механическая)';
$in["TROPIX"] = 'Комплект "TROPIX" МНН-130-1 (1 кв. метр)';