51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 11640|回复: 5
打印 上一主题 下一主题

通过正则表达式获取括号中内容的问题

[复制链接]
  • TA的每日心情
    无聊
    9 小时前
  • 签到天数: 403 天

    连续签到: 1 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2019-11-11 10:42:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    有下面一个字符串,想通过正则表达式把最外层括号中的内容都取出来
    str = '[A {B [C] | D [E] } ] F [ G ]'
    match = re.findall('\[.*?\]', str)
    print(match)
    re.findall('\[.*?\]', str)的写法是把从第一个括号“[”到第一个反括号“]”的内容给取出来,所以造成了下面的输出结果
    ['[A {B [C]', '[E]', '[ G ]']
    但是想要的输出结果是获取最外层的括号中的内容
    ['[A {B [C] | D [E] } ]', '[ G ]']
    另外括号的类型是不一定的,有可能是大括号{},也有可能是中括号[],请问有大括号和中括号都适用的正则表达式吗?

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    4 小时前
  • 签到天数: 647 天

    连续签到: 2 天

    [LV.9]测试副司令

    2#
    发表于 2019-11-12 09:32:28 | 只看该作者
    match = /[\[\{\]\}]/.exec( str)
                ^
    SyntaxError: invalid syntax
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    10 小时前
  • 签到天数: 1667 天

    连续签到: 5 天

    [LV.Master]测试大本营

    3#
    发表于 2019-11-12 09:47:02 | 只看该作者
    match = /[\[\{\]\}]/.exec( str)
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    8 小时前
  • 签到天数: 1386 天

    连续签到: 5 天

    [LV.10]测试总司令

    4#
    发表于 2019-11-12 11:18:04 | 只看该作者
    都适用的
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 10:20
  • 签到天数: 881 天

    连续签到: 4 天

    [LV.10]测试总司令

    5#
    发表于 2019-11-12 11:52:21 | 只看该作者
    match = /[\[\{\]\}]/.exec( str)
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    11 小时前
  • 签到天数: 2660 天

    连续签到: 5 天

    [LV.Master]测试大本营

    6#
    发表于 2019-11-12 12:06:39 | 只看该作者
    可以,一样的编写正则
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-26 18:56 , Processed in 0.066761 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表