Regex 正则表达式替换/删除括号内的所有句点

Regex 正则表达式替换/删除括号内的所有句点,regex,Regex,我有如下格式的MDX数据: [Measures].[Gross Revenue(Exl. Post-Or Disc.)] 我的拆分逻辑将这些部分(例如,Arr(“[Measures]”,“[Gross Revenue(Exl.Post或Disc.)]”)进行了分组,目前这些部分的缩写部分被挂起。虽然这并不完美,但最简单的方法是删除括号内的所有期间 我现在的正则表达式: RegExReplace('[Measures].[Gross Revenue(Exl. Post-Or Disc.)]',

我有如下格式的MDX数据:

[Measures].[Gross Revenue(Exl. Post-Or Disc.)]
我的拆分逻辑将这些部分(例如,Arr(“[Measures]”,“[Gross Revenue(Exl.Post或Disc.)]”)进行了分组,目前这些部分的缩写部分被挂起。虽然这并不完美,但最简单的方法是删除括号内的所有期间

我现在的正则表达式:

RegExReplace('[Measures].[Gross Revenue(Exl. Post-Or Disc.)]', '\[(.*?)\]', '', 1)
目前正在给我:

.
理想情况下,这应该如下所示:

[Measures].[Gross Revenue(Exl Post-Or Disc)]

我对正则表达式非常讨厌,我一辈子都不知道如何逃出这个句点,所以任何指针都会非常感激-谢谢!

句点
实际上是正则表达式中的一个特殊字符,意思是“任意字符”。要将特殊字符用作文字,必须“逃出”通常转义字符是反斜杠
\

如果此表达式解决了您的问题,请告知我:

(?<!\])\.(?!\[)
(?
此表达式包含三个部分:

  • (?← 负向后看,意思是“前面没有右括号”
  • \。
    ← 文字周期
  • (?!\[)
    ← 负向前看,意思是“后面没有一个开括号”
  • 在普通语言中,按2、1、3的顺序阅读这些内容是有意义的:一个句号前面没有右括号,后面也没有右括号

    有关正则表达式的更多信息,请参阅regular-expressions.info,特别是“lookaheads”和“lookbehinds”页面:


    如果你想更多的练习,这个网站有一个很好的界面来测试和尝试正则表达式:

    句点
    实际上是正则表达式中的一个特殊字符,意思是“任意字符”。要使用特殊字符作为文本,你必须“转义”它。转义字符通常是反斜杠
    \

    如果此表达式解决了您的问题,请告知我:

    (?<!\])\.(?!\[)
    
    (?
    此表达式包含三个部分:

  • (?← 负向后看,意思是“前面没有右括号”
  • \。
    ← 文字周期
  • (?!\[)
    ← 负向前看,意思是“后面没有一个开括号”
  • 在普通语言中,按2、1、3的顺序阅读这些内容是有意义的:一个句号前面没有右括号,后面也没有右括号

    有关正则表达式的更多信息,请参阅regular-expressions.info,特别是“lookaheads”和“lookbehinds”页面:


    如果你想更多的练习,这个网站有一个很好的测试和尝试正则表达式的界面:

    使用
    \.(?=[^][]*])
    。它是AHK吗?你使用哪种语言(用于
    RegExReplace
    ,…)?如果是AHK,那么它是PCRE。还有一个花哨的PCRE正则表达式,以确保我们在
    中排除匹配的
    […]
    :@WiktorStribiżew我对正则表达式的了解还不足以了解所有的替代方法,但是你的第一个表达式对我来说非常有用-谢谢!我希望你能把它作为一个答案提交给我!@trincot我应该事先声明一下-我正在使用C#的正则表达式类。使用
    。(?=[^][*]))“
    。它是AHK吗?您使用的是哪种语言(对于
    RegExReplace
    ,…)?如果它是AHK,那么它就是PCRE。还有一个花哨的PCRE regex,以确保我们排除
    中的匹配项[…]
    :@WiktorStribiżew我对RegEx的了解还不足以了解所有的选项,但是你的第一个表达对我来说非常有用-谢谢!我希望你能把它作为一个答案提交给我!@trincot我应该事先声明一下-我正在与C#的RegEx类合作。这对我来说非常有用!谢谢你把每个部分都分解一下,谢谢你的回答提供这些有用的资源。我一直在白痴般地尝试通过学习。显然,作为一种学习资源,我更喜欢复习。我很高兴!我是这里一个相对新的贡献者。对我来说,这是一种有趣和高效的方式来与互联网上的人联系。祝你有一个美好的一天!在测试.NET regex时不要依赖regex101,该站点不支持.NET正则表达式语法。请使用Ultrapico Expresso工具。此外,转义也没有意义
    ]
    在角色类之外。这对我来说非常有用!感谢你分解了每个部分并提供了这些有用的资源。我一直在白痴般地尝试通过via学习。绝对比作为学习资源更好。我很高兴!我在这里是一个相对较新的贡献者。对我来说,这是一个有趣和有趣的过程使用高效的方式与internet上的人联系。祝您愉快!在测试.NET regex时不要依赖regex101,该网站不支持.NET regex语法。请使用Ultrapico Expresso工具。此外,在字符类之外转义
    ]
    也没有意义。