您好,我可以帮助您完成正则表达式吗?
我需要处理这样格式的字符串:
<FC012D>{p:19}Ja?<BF093C> Du möchtest<BC>zur Königin?<BC><BF040027><BF07>{p:20}<F8012D>Hmm...<BF093C><BC>Du bist gekommen um den<BC>Titel Kriegerin<BC>zu erhalten?<BD><BC>Verstehe.<BF093C> Das ist ganz<BC>schön tapfer für so<BC>eine junge Dame.<BD><BC>Die Königin wird sicher<BC>auch sehr<BC>überrascht sein.<BD><BC>{t:19}Bitte sehr,<BC>geh direkt hinein.<BD><FF>{t:20}Treibe Dich hier nicht<BC>herum, wenn Du hier<BC>nichts zu suchen hast!<BD><FF>
我需要用preg_match_all将它们拆分为一个数组,以获取3种类型的数组元素:
- 带有<>的字符串
- 带有{}的字符串
- 其他两个选项之间的任何其他内容作为单独的元素。
这是我到目前为止所拥有的:
preg_match_all("/<[^>]*>|{(.*?)}|(\(.*?)\)/", $input_lines, $output_array);
我需要求助于最后一个选项,即捕获两个字符串之间的内容。 http://www.phpliveregex.com/p/kdW
<>
和{}
吗?期望的输出是什么?此外,你需要在生成的数组中保留空项吗? - Wiktor Stribiżew