zhuzhuaini

正则提问

  •  
  •   zhuzhuaini · Nov 16, 2019 · 3846 views
    This topic created in 2543 days ago, the information mentioned may be changed or developed.
    现在有这样一个字符串:
    {'JSESSIONID': '29rshpmaj'}
    我想匹配除了{}'以外的字符,即:
    JSESSIONID:29rshpmaj
    目前使用了这样一个正则 [^{}'] 能匹配出除了这三个特殊字符以外的内容,但是匹配数量太多了,我想有没有一条表达式只出一个结果,内容为 JSESSIONID:29rshpmaj
    14 replies  •  2019-11-16 18:01:39 +08:00
    iNaru
    iNaru
    Nov 16, 2019
    1
    (?<={)[^{]+(?=})
    zhuzhuaini
    zhuzhuaini
    OP
    Nov 16, 2019
    2
    @iNaru 不对哦 这样的匹配结果是:'JSESSIONID': '29rshpmaj' 还有单引号哦
    widewing
    widewing
    Nov 16, 2019 via Android
    3
    你是不是对正则有什么误解啊。。
    jdhao
    jdhao
    Nov 16, 2019 via Android
    4
    使用 match group 就可以了
    iNaru
    iNaru
    Nov 16, 2019
    5
    @zhuzhuaini 没办法的,只能分组。(?<={')([^']+)'(:)\s'([^']+)(?='})
    zhuzhuaini
    zhuzhuaini
    OP
    Nov 16, 2019
    6
    @iNaru 好吧 我用的 python 有这么个字符串想处理,如果不通过正则的话 有什么被的方案吗?谢谢谢谢
    sixway
    sixway
    Nov 16, 2019
    7
    In [1]: import re

    In [2]: str = "{'JSESSIONID': '29rshpmaj'}"

    In [3]: print(re.sub(r"[?{}']", "", str))
    JSESSIONID: 29rshpmaj
    sixway
    sixway
    Nov 16, 2019❤️1
    8
    In [4]: print(re.sub(r"[?{} ']", "", str))
    JSESSIONID:29rshpmaj
    zhuzhuaini
    zhuzhuaini
    OP
    Nov 16, 2019
    10
    @sixway 感谢 这很完美!
    zhuzhuaini
    zhuzhuaini
    OP
    Nov 16, 2019
    11
    @pompeii 谢谢 这个手册有空恶补一下
    sixway
    sixway
    Nov 16, 2019
    12
    @zhuzhuaini #10 不能匹配内容的时候,可以考虑替换内容以外的为空。思维不要那么死板
    ipwx
    ipwx
    Nov 16, 2019 via Android
    13
    匹配出 group 以后直接丢给 str format 不就行了?
    ipwx
    ipwx
    Nov 16, 2019 via Android
    14
    '{}:{}'.format(*re.match(...).groups())
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5059 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 05:59 · PVG 13:59 · LAX 21:59 · JFK 00:59
    ♥ Do have faith in what you're doing.