gpt4 book ai didi

python - Notepad++ 正则表达式每隔一个字符位置插入随机字母或数字

转载 作者:太空宇宙 更新时间:2023-11-04 04:19:50 37 4
gpt4 key购买 nike

我希望在 Notepad++ 中找出一个简单的搜索和替换,通过每秒(“其他”)字符用随机字母和数字乱丢文本来稍微混淆文本,然后能够用另一个宏再次反转它。

所以:

banana

会变成:

bma0ndaNn4aR

(b?a?n?a?n?a?)

...然后可以通过使用退格键删除所有其他字符来再次撤消此操作。

...

到目前为止我找到了这个方法:

(?<=.)(?!$)

How to insert spaces between characters using Regex?

但据我所知,这实际上并没有捕获任何东西,所以我不能用它来替换我发现的用于打印随机字母和数字的表达式,例如:

^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])$

我确信对此进行调整会奏效,然后我可以通过将相同的搜索替换为 \b 来扭转这一切。

最佳答案

有更好的方法,但您可以使用以下 python 原型(prototype)作为起点来创建您自己的脚本:

import string
import random

inputText = 'banana'

#encoding
obfuscatedText = ''.join([x + random.choice(string.ascii_letters+string.digits) for x in inputText])
print(obfuscatedText)

#decoding
originalText = ''.join([x for x in obfuscatedText][0:len(obfuscatedText)-1:2])
print(originalText)

解释:

编码:

  • [x for x in inputText] 将从输入字符串生成一个字符数组
  • random.choice(string.ascii_letters+string.digits) 取一个字符来自 string.ascii_lettersstring.digits
  • 的联合
  • x + random.choice(string.ascii_letters+string.digits) 通过将输入的每个字符与生成的字符连接起来创建 2 个字符字符串。
  • ''.join() 操作将允许您从 char 数组创建一个字符串

解码:

  • [x for x in obfuscatedText][0:len(obfuscatedText)-1:2] 将允许您仅获取
  • 位于索引 0,2,4,6,... 的字符
  • ''.join() 操作将从 char 数组重新生成一个字符串

执行:

$ python obfuscate.py 
biaLncaIn4aE
banana

关于python - Notepad++ 正则表达式每隔一个字符位置插入随机字母或数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54700728/

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