<!DOCTYPE html>
<html>
<head>
<title>内容</title>
</head>
<body>
中文
<p>内容<i>内容</i></p>
</body>
</html>
Ganti kandungan dalam tag dengan
<!DOCTYPE html>
<html>
<head>
<title>{{#内容#}}</title>
</head>
<body>
{{#中文#}}
<p>{{#内容#}}<i>{{#内容#}}</i></p>
</body>
</html>
Bagaimana untuk menulis penyelesaian biasa?
Pertama, jika anda telah mempelajari prinsip penyusunan, anda akan tahu bahawa ungkapan biasa tidak mampu memproses struktur data bersarang. Dalam erti kata lain, jika anda ingin mencapai keperluan [memilih teg i pertama bagi p bersarang dalam badan] melalui ungkapan biasa, ia tidak boleh dilaksanakan pada dasarnya.
Kedua, anda berurusan dengan teks DOM berstruktur, jadi anda boleh menggunakan kaedah parseHTML jQuery untuk mencapai ini. Objek yang diperoleh selepas lulus parse jQuery boleh menggunakan $ untuk memilih nod seperti p atau i. Ini boleh menyelesaikan masalah penggantian teks anda dengan mudah dan berkesan.
Jika anda berada di pelayan Node, cuma gantikan jQuery dengan cheerio.
Jika anda hanya mahu menggantikan dalam teks ujian semasa yang anda berikan, kerana keadaannya agak mudah, anda hanya perlu menulis padanan biasa seperti ([u4e00-u9fa5]+) dan menggantikannya dengan {{#$1#}}