2015-11-10 20 views
6

tôi cố gắng thay thế tác giả Họ và tên với tiêu đề bài viết Tôi có một danh sách các bài báo, tương tự như thế này:Notepad ++ regex thay thế cho tên nhóm

  1. Albershein P., Nevis D J. Một phương pháp phân tích đường trong polysaccharides tường tế bào thực vật bằng sắc ký khí lỏng // J. Carbohydrate Research. - 1967. - Vol. 5, № 3. - Р. 340–345.

Và tôi có Regex cho nó

(?'n1'^\d{3}\.)(?'n2'(?:(?:[A-ZА-Я][-a-zćа-я ]+)?([A-ZА-Я][-a-zćа-я]+\xA0[A-ZА-Я]\.(?:\xA0[A-ZА-Я]\.){0,2}\,?)(?: \[et al\])? ?)+)(?'n3' [^\/]+[\/]{2}) 

nhưng thay thế như

\k{n1} 

hoặc

\k'n1' 

việc doesnt

chúng tôi cố gắng này trong perl nhưng có cùng một kết quả

+1

Hãy thử chỉ số nhóm chỉ số '\ 1' hoặc' $ 1'. Tên nhóm sẽ là [\ g ] (https://regex101.com/r/mR0nU9/1), '$ {n1}' thay thế hoặc có thể '\ k {n1}', '\ g {n1}' nhưng dường như không hoạt động trong np ++. –

+0

Trong Perl bạn có thể thử '$ + {name}' ở phía thay thế, nhưng nó phải ở dạng eval 's /// eg' (không chắc chắn về eval) – sln

+0

\ 1 \ 2 ... làm việc tốt trong các samles đơn giản, nhưng trong trường hợp này nó làm việc dosent (bạn có thể thử) –

Trả lời

8

Thử sử dụng trong regex (?<groupname>something to match)

Và thay thế: $+{groupname}

+0

Thật tuyệt vời, cảm ơn rất nhiều –

Các vấn đề liên quan