为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式 - 根据出现不一致的反斜杠字符分解字符串

正则表达式 - 根据出现不一致的反斜杠字符分解字符串

PHP
慕森卡 2023-07-21 18:32:05
我正在使用 laravel php 并尝试将字符串分解为数组。该字符串始终包含斜杠字符,但该字符可以出现多次:例子:输入字符串:"abcd\\efg\\\\hij\klm\\\\\\\opq"预期的数组:[abcd, efg, hij, klm, opq]我尝试使用str_replace函数替换'\'to '',但它给出了错误的结果,因为在分解字符串时我不会使用任何分隔符。我知道正则表达式可以做到这一点,但我不知道如何实现这一点。我希望有人能在这件事上帮助我。
查看完整描述

1 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

您可以preg_split与正则表达式/+(匹配一个或多个/字符)一起使用来分割可变长度的/字符子串:


请参阅此处使用的代码

<?php


$string = "abcd//efg////hij/klm//////opq";

var_dump(preg_split('`/+`', $string));

更新


自从OP将分割字符和字符串更改为反斜杠以来进行了更新\。


与上面显示的正斜杠类似,反斜杠也可以使用正则表达式进行匹配\\\\+。您需要转义字符串和正则表达式的反斜杠,因此\\\\+变为 string \\+,从而变为原始 regex \+:


请参阅此处使用的代码

<?php


$string = "abcd\\efg\\\\hij\klm\\\\\\\opq";

var_dump(preg_split('/\\\\+/', $string));


查看完整回答
反对 回复 2023-07-21
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信