【问题标题】:Notepad++ Help Possibly Using Regex?Notepad++ 帮助可能使用正则表达式?
【发布时间】:2017-01-10 03:53:47
【问题描述】:

我正在使用 Notepad++,我需要从许多不同的文本行中提取一部分,它们非常相似,并将它们放在另一行中。

这是我所拥有的一个例子

    - '@AND b $testing123.<playeruuid> = false'
    - '@AND b $thisisatest.<playeruuid> = false'

我想把它变成

    - '@AND b $testing123.<playeruuid> = false'
    - '@SETBOOL $<playeruuid>.name testing123'
    - '@AND b $thisisatest.<playeruuid> = false'
    - '@SETBOOL $<playeruuid>.name thisisatest'

我正在考虑使用查找/替换正则表达式来执行以下操作:

查找:

    - '@AND b $x.<playeruuid> = false'

并替换为:

    - '@AND b $x.<playeruuid> = false'
    - '@SETBOOL $<playeruuid>.name x'

当然这不是正则表达式格式,但这是我正在尝试做的,我不知道从哪里开始。

所以总而言之,我想把一个模式的一部分粘贴到另一行文本中,但是批量?

我不太确定如何很好地解释它。非常抱歉没有详细说明。

【问题讨论】:

  • 与近距离投票相反,我认为这个问题并不太宽泛。它只需要小心使用正则表达式匹配。

标签: regex search replace notepad++


【解决方案1】:

您可以在正则表达式模式下使用查找和替换 (CTRL + H) 来实现:

查找:

    - '@AND b \$(.*)?\.(<.*?>) = false'

替换:

    - '@AND b \$$1.$2 = false'\n    - '@SETBOOL \$$2\.name ($1)'

括号中的数量称为捕获组,因为正则表达式引擎在匹配时捕获其中包含的内容。然后可以将捕获组用作替换中的$1,用于第一次捕获,或$2,用于第二次捕获。

这是一个屏幕截图:

【讨论】:

  • 这个repmove原来的行(@AND...),但必须保留(在replace部分开头加上$0\n)
猜你喜欢
  • 1970-01-01
  • 2011-06-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多