stat x, y, z,
x / y / z là các số. Có lệnh regex nào trong notepad ++ cho phép tôi thay thế tất cả văn bản trong một tệp phù hợp với mẫu (stat x, y, z, (hãy nhớ rằng các số đại diện cho x / y / z khác nhau)) nó giảm x 2, y và z 1?
stat x, y, z,
x / y / z là các số. Có lệnh regex nào trong notepad ++ cho phép tôi thay thế tất cả văn bản trong một tệp phù hợp với mẫu (stat x, y, z, (hãy nhớ rằng các số đại diện cho x / y / z khác nhau)) nó giảm x 2, y và z 1?
Câu trả lời:
Không, bạn không thể thực hiện các hoạt động chống lại các nhóm bắt giữ nội tuyến với công cụ regex tích hợp. Những gì bạn có thể làm là rất thông minh và đã sử dụng regex để tự động viết cho bạn một tập lệnh sẽ thực hiện công việc bạn muốn, sau đó chạy tập lệnh và sau đó lưu kết quả của tập lệnh đó.
Regex để nắm bắt các con số:
^stat ?([0-9]+), ?([0-9]+), ? ([0-9]+)$
Giải thích về regex:
^
bắt đầu một dòng ?
không gian tùy chọn ([0-9]+)
trận đấu tham lam của bất kỳ chuỗi số, 1 hoặc nhiều ký tự.,
dấu phẩy ?
không gian tùy chọn ([0-9]+)
trận đấu tham lam của bất kỳ chuỗi số, 1 hoặc nhiều ký tự. ,
dấu phẩy ?
không gian tùy chọn ([0-9]+)
trận đấu tham lam của bất kỳ chuỗi số, 1 hoặc nhiều ký tự. $
kết thúc dòngBạn có thể thả nó trong trường tìm của bạn, đánh dấu để tìm kiếm dưới dạng tìm kiếm regex. Sau đó, trong trường "Thay thế bằng", bạn có thể bỏ biểu thức sau:
@set /a sa=\1-2\n@set /a sb=\2-1\n@set /a sc=\2-1\necho stat %sa%, %sb%, %sc%\n
Sau đó, bạn có thể nhấn thay thế tất cả và lưu văn bản mới được tạo vào một tệp bó và chạy nó, nó sẽ in ra các giá trị được sửa đổi của bạn. Điều này sẽ không đưa bạn 100% đến một cơ chế hoàn toàn tự động. Bạn cần có thêm một biến mà bạn nối thêm mỗi dòng mới vào, sau đó chỉ in ra một lần để có đầu ra sạch, bạn có thể chuyển thẳng ống thành tệp. Nhưng điều này giúp bạn đạt được 99%.