推荐关注
› Meteor
› JSLint - a JavaScript code quality tool
› jsFiddle
› D3.js
› WebStorm
推荐书目
› JavaScript 权威指南第 5 版
› Closure: The Definitive Guide
w292614191

各位大佬,求一个正则。

  •  
  •   w292614191 · Apr 13, 2021 · 3862 views
    This topic created in 2033 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
    ccraohng
    Apr 13, 2021❤️1
    1
    假设规则是 去掉重复的 一个大写字母一个数字吧

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

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

    s.replace(g, '$1')

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

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

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

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