gpt4 book ai didi

regex - 在 Notepad++ 混淆中使用 RegEx 提取文本

转载 作者:行者123 更新时间:2023-12-02 07:24:16 27 4
gpt4 key购买 nike

所以我有大量文本需要从中提取一些文本。这是其中一些内容的一小段。

pool-4-thread-54]"Sheet1 :name=Wagenaar, Larry CSA Term (4-15-13ALT).doc; " :Error adding or updating document. 
pool-4-thread-56]"Sheet1 :name=Kelly Services - 2nd Amendment to CLSA (11-13-13ALT).doc; " :Error adding or updating document.
pool-4-thread-38]"Sheet1 :name=New Zealand Pharmaceuticals CDA 072313.doc; " :Error adding or updating document.

我正在使用以下 RegEx 来获取我想要的内容

(["'])(?:(?=(\\?))\2.)*?\1

然后我研究了如何提取与模式匹配的文本,我读过的所有内容都说过在 Notepad++ 中使用查找和替换以及用/1 或 $1 替换正则表达式

但这对我来说没有意义,因为这只是替换了模式找到的实际文本,所以我失去了我真正想要保留的内容。我是否误解了我应该做什么?

假设我有这条线

pool-4-thread-54]"Sheet1 :name=Wagenaar, Larry CSA Term (4-15-13ALT).doc; " :Error adding or updating document. 

我使用 RegEx 模式进行查找并得到结果

"Sheet1 :name=Wagenaar, Larry CSA Term (4-15-13ALT).doc; " 

如果我将其替换为

/1

那一行就变成了

pool-4-thread-54] :Error adding or updating document. 

感谢任何帮助,谢谢

最佳答案

要删除所有周围的文本并只保留您需要的内容,请使用

^.*((["'])(?:(?!\\2).)*?\2).*

并替换为 $1 反向引用。查看regex demo .

详细信息:

  • ^ - 字符串的开始
  • .* - 零个或多个字符,除换行字符外,尽可能多
  • ((["'])(?:(?!\\2).)*?\2) - 第 1 组:"' 捕获到第 1 组,然后除换行符之外的任何零个或多个(但尽可能少)字符,每个字符不能等于第 2 组捕获的值(因此,“不是 '"或 "不是 "")
  • .* - 该行的其余部分。

我必须添加 ^.*(匹配行的开头后跟除换行符以外的零个或多个字符),然后我将您的模式包含在另一个捕获组中(添加 ( 在前面和 ) 之后)以便我们稍后可以在替换模式中使用 \1 反向引用来引用此子匹配,然后添加 。 * 以匹配该行的其余部分。

请注意,您的模式中的反向引用必须重新编号。

如果您还需要删除换行符,请在我的正则表达式结束。

关于regex - 在 Notepad++ 混淆中使用 RegEx 提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35507903/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com