• 请不要在回答技术问题时复制粘贴 AI 生成的内容
twogoods
V2EX  ›  程序员

字符串匹配

  •  
  •   twogoods · Apr 24, 2017 · 2743 views
    This topic created in 3485 days ago, the information mentioned may be changed or developed.
    "139****2301: 江苏 扬州 江苏移动全球通卡"
    "{mobile}: {pr} {city} {property}"
    最终得到 mobile=139****2301 , pr=江苏 等
    正则表达式能实现吗?如何写
    11 replies  •  2017-04-25 16:46:49 +08:00
    QAPTEAWH
    QAPTEAWH
    Apr 24, 2017
    1
    不要用正则表达式。
    twogoods
    twogoods
    OP
    Apr 24, 2017
    2
    @QAPTEAWH 现在是我不能写死,"{mobile}: {pr} {city} {property}" 这个类似于配置,配置好了我通过这个规则拿到里面的值
    imn1
    imn1
    Apr 24, 2017
    3
    查阅正则手册 (?<p>)的用法
    QAPTEAWH
    QAPTEAWH
    Apr 24, 2017
    4
    那就把规则也作为输入。
    konia
    konia
    Apr 24, 2017 via iPhone
    5
    ([0-9]+): ([^ ]+) ([^ ]+) ([^ ]+)
    twogoods
    twogoods
    OP
    Apr 24, 2017
    6
    @konia 谢谢,可以匹配,但不知道如何截取那四个信息
    geelaw
    geelaw
    Apr 24, 2017
    7
    @twogoods 很多语言会在每个左括号开始的地方建立一个 group ,你可以从 group 里面拿数据。

    另外你不能 result.split(' ') 然后拿数据吗?
    manhere
    manhere
    Apr 24, 2017
    8
    backreference
    mapleray
    mapleray
    Apr 24, 2017
    9
    (?<name>exp)
    suyingtao
    suyingtao
    Apr 25, 2017 via iPhone
    10
    按空格拆分成一个数组,第一元素删掉最后一位。
    twogoods
    twogoods
    OP
    Apr 25, 2017 via Android
    11
    @suyingtao 哥,不能写死,我希望通过这种规则处理各种各样的字符串啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1645 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 08:31 · PVG 16:31 · LAX 00:31 · JFK 03:31
    ♥ Do have faith in what you're doing.