【问题标题】:How to remove the bracket in strings like "(2003)" using ultraedit and regular expressions?如何使用ultraedit和正则表达式删除“(2003)”等字符串中的括号?
【发布时间】:2013-08-04 12:56:38
【问题描述】:

我将在 Ultraedit 中删除“(1978)”、“(2003)”等字符串的括号。其实我知道如何使用正则表达式定位这些字符串:\(\d{4}\),但我不知道如何删除括号。任何帮助,将不胜感激。

【问题讨论】:

  • 在你的系统上安装 perl,然后执行: perl -pi -e 's!(\d+)!$1/g' filename

标签: regex ultraedit


【解决方案1】:

找到以下模式:

\((\d{4})\)

并将其替换为:

^1

Regular expression for Ultraedit

^1

对标记表达式的数字引用。与标记匹配的文本 表达式可以用这种格式替换命令。

^1 对应于其他正则表达式引擎中的\1$1(反向引用)。

【讨论】:

  • 谢谢,我设法按照您的建议解决了问题,但您似乎在 Ultraedit 中使用了perl engine?我使用$1 而不是^1。总而言之,非常感谢您的帮助。
【解决方案2】:

您应该能够像这样在正则表达式中定义捕获组:

\((\d{4})\)

注意未转义的括号。然后,您可以使用\1$1 在替换字符串中使用捕获的文本。我不确定这两个 UltraEdit 中的哪一个使用。两者都试一下,看看有什么效果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多