【发布时间】:2017-10-20 15:30:52
【问题描述】:
我有简单的文字:
$text = "БАДРЎ(Й) (ي(بدرو он ки рўи нозебу хунук до- рад,бадафт,безеб,бадбашара; муќоб。 Тез-тез зур - зур。 ОБАНДОМ آباندام маљ。 обпайкар, нозукан- дом, латифбадан。 FБАФКАН آبافكن муњаррики обафкан, даст- гоњи обпошї.";这里我想组合单词并得到这个结果:
БАДРЎ(Й) (ي(بدرو он ки рўи нозебу хунук дорад, бадафт, безеб, бадбашара; муќоб. Тез-тез ганда. ОБАНДОМ آباندام маљ. обпайкар, нозукандом,латифбадан。 FБАФКАН آبافكن муњаррики зур - зур обафкан, дастгоњи обпошї.
也就是说,你需要这样组合这些词:
до- рад 到 дорад
нозукан-дом到нозукандом
даст- гоњи 到 дастгоњи
我使用此代码删除\r\n:
$regex = '~-\R~';
$result = preg_replace($regex, '', $string);
并且只得到那个结果:
БАДРЎ(Й) (ي(بدرو он ки рўи нозебу хунук дорад, бадафт, безеб, бадбашара; муќоб. Тез-тез зур - зур. ОБАНДОМ آباندام маљ. обпайкар, нозукан- дом, латифбадан。FБАФКАН آبافكن муњаррики обафкан, даст- гоњи обпошї。
无法组合这些词:
нозукан-дом到нозукандом
даст- гоњи 到 дастгоњи
【问题讨论】:
-
感谢大家的回答。哪个响应代码运行得更快?我希望进行比较审查。
-
我宁愿担心这种情况下的正则表达式精度而不是速度
-
是的,正如@WiktorStribiżew 建议的那样,制作一些测试用例并在它们上运行所有正则表达式,寻找更精确的。
-
只为你工作 '@Wiktor Stribiżew' 正确回答和回答 '@ishegg'