Rumah > Soal Jawab > teks badan
Dalam banyak kes, kita hanya perlu memadankan kandungan di tengah-tengah ungkapan, dan tidak perlu kandungan pada kedudukan yang sepadan, seperti kurungan kiri dan kanan dalam gambar di bawah penegasan boleh dilakukan, tetapi js tidak menyokong penegasan terbalik Sila beritahu saya Adakah terdapat cara biasa lain untuk mengendalikannya dalam satu langkah? Adalah lebih baik untuk tidak menyiarkan pelan pemintasan dan pemprosesan rentetan seterusnya
世界只因有你2017-05-16 13:41:37
Memang betul untuk menggunakan kumpulan tangkapan dalam ungkapan biasa Selain itu, kembangkan idea anda: replace
Kaedah ini boleh digunakan dalam kombinasi dengan kumpulan tangkapan, yang sangat berkuasa.
"transform: scale(-12312.212) rotate(-0.23deg) translateX(0.31px);"
.replace(/[^(]*\((-?\d+\.?\d+\w+?)\)[^(]*/g, function(m, p) {
return p+' ';
});
// "-12312.212 -0.23deg 0.31px "
Untuk pengetahuan lanjut tentang sistem biasa js, disyorkan untuk membaca secara mendalam manual bahagian hadapan ungkapan biasa Saya telah menulis artikel ini secara berselang-seli selama dua bulan Jika anda memukul saya jika ia tidak berguna, saya berjanji tidak akan melawan belakang.
为情所困2017-05-16 13:41:37
Kumpulan dalam ungkapan biasa boleh mencapai keperluan anda.
Berdasarkan ungkapan biasa yang anda tulis, tambahkan sepasang kurungan (menunjukkan Kumpulan dan kembangkan bahagian yang anda mahukan ((-?d+.?d+([a-z]+)?))
Kod ujian, di mana kaedah myRegexp.exec mengembalikan tatasusunan, dan elemen pertama ialah rentetan yang dipadankan dengan ungkapan biasa, termasuk kurungan yang anda "tidak mahu lihat". Elemen kedua (iaitu, subskrip ialah 1) sepadan dengan kandungan yang ditangkap oleh kurungan pertama dalam ungkapan biasa anda, iaitu nombor dan bahagian unit yang anda inginkan.
var myString = 'scale(-12312.212)skdk, rotate(-0.23deg)..+-(800)-555-2468';
var myRegexp = /\((-?\d+\.?\d+([a-z]+)?)\)/g;
match = myRegexp.exec(myString);
while (match != null) {
console.log(match[1])
match = myRegexp.exec(myString);
}
给我你的怀抱2017-05-16 13:41:37
Gunakan kumpulan biasa untuk menyelesaikannya
Gunakan pertama /g untuk memadankan semua rentetan sasaran
Kemudian gunakan ungkapan biasa tanpa /g untuk setiap satu untuk mendapatkan satu kumpulan hasil, iaitu nilai yang anda perlukan, pergi terus Kod
Dikelilingi dengan kurungan ia adalah kumpulan tangkapan, sila google untuk penggunaan terperinci