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

求解下边的正则表达式用来匹配什么格式的字符串?

求解下边的正则表达式用来匹配什么格式的字符串?

米琪卡哇伊 2019-03-01 10:33:44
正则规则如下 preg_match_all('/(?:^[^\[]+)|\[[^]]*\]/', $field, $matches) 麻烦能否给出什么格式的字符符合这样的匹配
查看完整描述

3 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

'/
(?: # 不捕获
    ^ # 开始位置
    [
        ^\[ # 非[
    ]+ 
)    # 总结就是 从开始匹配非[的字符串
    |   # 或
\[  # [
    [
        ^] # 非]
    ]*
\]  # ]
    # 总结就是 "中括号[" + "非]的字符串" + "中括号]" 
/x';
查看完整回答
反对 回复 2019-03-01
?
米脂

TA贡献1836条经验 获得超3个赞

这么说吧,有两种情况是匹配不上的
[asdf
[asdf]]
匹配两种情况:
1 开头不是[的多个字符;
2 在[]中的0个或多个字符,而且括号里没有]。

查看完整回答
反对 回复 2019-03-01
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

你这个正则就是CI框架下的input类里_fetch_from_array这个方法中的一个过滤的正则。主要用来过滤处理的

查看完整回答
反对 回复 2019-03-01
  • 3 回答
  • 0 关注
  • 408 浏览

添加回答

举报

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