javascript - Meminta bantuan mengenai isu biasa js
某草草
某草草 2017-05-16 13:39:37
0
4
501

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

某草草
某草草

membalas semua(4)
世界只因有你

Memang betul untuk menggunakan kumpulan tangkapan dalam ungkapan biasa Selain itu, kembangkan idea anda:
replaceKaedah 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.

習慣沉默

Anda menggunakan kumpulan tangkap untuk mendapatkannya

为情所困

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);
}
给我你的怀抱

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan