Regex 正则表达式替换/删除括号内的所有句点
我有如下格式的MDX数据: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.)]',
[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工具。此外,在字符类之外转义]
也没有意义。