Tìm kiếm và thay thế nhóm RegEx Capture bằng một số


1

Tôi đang cố gắng sử dụng các trình soạn thảo Visual Studio Biểu thức chính quy để tìm và thay thế văn bản bằng cách sử dụng các nhóm chụp, nhưng đã gặp phải sự cố.

Tôi đang cố gắng tìm và chụp một bộ 5 Alpha-Numerics:

(\w{5})

Và tìm kiếm - thay thế nhóm đó để thêm "1" vào sau:

$11

Ở đây tôi thực sự có ý nghĩa $1 Nhóm bị bắt + 1 Văn bản để chắp thêm

Ví dụ:

 227TW ==> 227TW1
 1053X ==> 1053X1

Tuy nhiên, nó rõ ràng giải thích $11 như "Nhóm bắt giữ mười một".

Làm cách nào tôi có thể làm cho Tìm kiếm / Thay thế hiểu đúng $11 là những yếu tố riêng biệt?

Những điều tôi đã thử, thất bại:

$1(1)  : 227TW ==> 227TW(1)
$1\1   : 227TW ==> 227TW\1
$1 1   : 227TW ==> 227TW 1
$1^1   : 227TW ==> 227TW^1
($1)1  : 227TW ==> (227TW)1

Câu trả lời:


2

Hóa ra câu trả lời đúng là:

${1}1

Các dấu ngoặc nhọn xung quanh số xác định nhóm chụp mà không nhầm lẫn nó với chữ số tiếp theo.


1
câu trả lời chính xác!! Trên thực tế tôi muốn đề xuất cách tiếp cận, ví dụ: đầu tiên thay thế cho $1##1## hoặc bất kỳ chuỗi nào bạn sẽ không tìm thấy trong đầu vào của mình, sau đó thay thế ##1## đến 1
Máté Juhász

0

Không chắc chắn nếu VS hỗ trợ lookbehind, nhưng nếu có, bạn có thể sử dụng:

  • Tìm thấy: (?<=\w{5}) xác nhận độ dài bằng không để đảm bảo chúng tôi có 5 ký tự từ trước vị trí hiện tại
  • Thay thế: 1
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.