V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
w292614191

各位大佬,求一个正则。

  •  
  •   w292614191 · Apr 13, 2021 · 3386 views
    This topic created in 1842 days ago, the information mentioned may be changed or developed.

    我正在开发一个前端的类 Excel 计算功能。

    这是一个错误的公式,要得出“H4H4H4”、“J3J3J3J3”,可能有多个匹配。

    =A1+M2-N2+H4H4H4+G7+H5/J3*PREXM('','','')

    =A1+M2-N2+H4H4+G7+H5/J3J3J3J3*PREXM('','','')

    正确的是这样的:

    =A1+M2-N2+H4+G7+H5/J3*PREXM('','','')

    12 replies    2021-04-13 13:22:02 +08:00
    ccraohng
        1
    ccraohng  
       Apr 13, 2021   ❤️ 1
    假设规则是 去掉重复的 一个大写字母一个数字吧

    ```js
    g = /([A-Z]\d)\1+/g

    s = "A1+M2-N2N2+H4H4+G7+H5/J3J3J3J3*PREXM('','','')"

    s.replace(g, '$1')

    ```
    skys215
        2
    skys215  
       Apr 13, 2021   ❤️ 2
    `([A-Z]\d){2,}` 就可以匹配到了吧?
    Jeyfang
        3
    Jeyfang  
       Apr 13, 2021
    2 楼的就可以
    no1xsyzy
        4
    no1xsyzy  
       Apr 13, 2021
    如果是 H1H2H3H4 这种怎么办?

    是否有 AA1234 这种地址? [A-Z]\d 看上去不够
    w292614191
        5
    w292614191  
    OP
       Apr 13, 2021
    @no1xsyzy #4
    @skys215 #2

    ganxi 感谢。看起来可行。
    w292614191
        6
    w292614191  
    OP
       Apr 13, 2021
    @ccraohng #1 你这个也可,但是不能满足 4 楼提出的那种情况。非常感谢。
    JeffGe
        7
    JeffGe  
       Apr 13, 2021 via Android
    .replace(/([A-Z]+\d+)\1+/g, '$1')
    imlinhanchao
        8
    imlinhanchao  
       Apr 13, 2021
    我觉得你需要的是这个: https://www.npmjs.com/package/excel-formula-sdk
    w292614191
        9
    w292614191  
    OP
       Apr 13, 2021
    @imlinhanchao #8 感谢,我们已有一个词法解析器,结合了自己的业务。
    balabalaguguji
        10
    balabalaguguji  
       Apr 13, 2021
    youhuo
        11
    youhuo  
       Apr 13, 2021
    2 楼不错
    ditel
        12
    ditel  
       Apr 13, 2021 via Android
    感觉为了以后的方便,该这样比较好

    g = /([A-Z]+\d+)\1+/g
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1185 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 23:18 · PVG 07:18 · LAX 16:18 · JFK 19:18
    ♥ Do have faith in what you're doing.