วิธีค้นหาและแทนที่ทั้งบรรทัด (สุ่ม 40 ตัวสุดท้าย) ด้วย notepad ++ โดยใช้ regex?


0

ฉันต้องการแทนที่สิ่งนี้:

userPassword: {SSHA}hLPcGtsS+sUhwlYq/23dsECuRGsvJj59OQXXJQ==

ด้วยบางสิ่งเช่นนี้

userPassword:funkypassword

ฉันได้ลองทำสิ่งสุ่ม ๆ ที่ฉันพบ แต่ไม่มีโชค รหัสจะมี regexp อย่างไร

คำตอบ:


2

เพื่อจับคู่ 40 ตัวอักษรสุดท้ายของบรรทัดคุณจะต้องใช้ regex:

.{40}$

ซึ่งหมายความว่า: "จับคู่อักขระใด ๆ 40 ครั้งตามด้วยท้ายบรรทัด"

หากคุณสนใจแทนที่ทั้งบรรทัดคุณจะใช้ regex

^(.*)(.{46})$

และข้อความแทนที่ของ

first part:\1 second part:\2

จะเปลี่ยนข้อความตัวอย่างของคุณเป็น

first part:userPassword:  second part:{SSHA}hLPcGtsS+sUhwlYq/23dsECuRGsvJj59OQXXJQ==

วงเล็บสร้างกลุ่มการดักจับและ notepad ++ แทนที่ \ n ด้วยกลุ่มการจับ nth

อีกตัวอย่างหนึ่งสำหรับตัวอย่างเฉพาะของคุณ (ขึ้นอยู่กับว่าบรรทัดอื่นมีลักษณะอย่างไร) คุณสามารถใช้รูปแบบของ

^(userPassword:).*$

ซึ่งตรงกับทุกบรรทัดที่ขึ้นต้นด้วย "userPassword:"


1
คุณช่วยเพิ่มคำอธิบายว่าทำไมสิ่งนี้ถึงตอบคำถามได้
ChrisF

คุณร็อคขอบคุณ! ฉันลงเอยด้วยการใช้ ^ (userPassword:). * $ วิธีอื่นทำให้ฉันสับสนเล็กน้อย
แอนโธนี
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.