javascript - Bagaimana untuk mendapatkan kandungan dalam kurungan menggunakan ungkapan biasa dalam js?
滿天的星座
滿天的星座 2017-05-19 10:40:53
0
6
713

var str="deleteChild(236737)";
Sebagai contoh, dapatkan nombor dalam kurungan 236737Yang lain tidak diperlukan.
Cara menulis js biasa. Tatasusunan
js terlalu menyusahkan. Kerana nombor dalam kurungan akan berubah.

滿天的星座
滿天的星座

membalas semua(6)
某草草

Gunakan d+ untuk mewakili sebarang nombor bulat. Untuk memadankan kandungan di lokasi khas, konsep kumpulan dalam ungkapan biasa juga digunakan (ditunjukkan dalam ungkapan biasa sebagai dilampirkan oleh sepasang kurungan). d+ 表示任意整整。 为了匹配到特殊位置的内容,还用到了正则表达式中group的概念(在正则表达式中表现出来就是被一对小括号括起来)。

javascript正则表达式快捷的表示方式是 用“/”括起来, 比如 /正则表达式内容/
Cara pintasan untuk menyatakan ungkapan biasa JavaScript adalah dengan melampirkannya dengan "/", seperti /kandungan ungkapan biasa/ Ia mempunyai kaedah exec dan parameter masuk ialah rentetan yang akan disemak .

Hasil pelaksanaan kaedah exec mengembalikan tatasusunan atau nilai nol (apabila tiada kandungan dalam str yang sepadan dengan ungkapan biasa).

Jika ungkapan biasa mengandungi kumpulan dan kandungan juga dipadankan, maka dalam tatasusunan hasil yang dikembalikan, kandungan teks yang diwakili oleh kumpulan akan muncul dalam elemen tatasusunan kedua dan elemen tatasusunan seterusnya tatasusunan hasil (apabila ungkapan biasa mengandungi Apabila mengandungi berbilang kumpulan).
🎜
var str = "deleteChild(236737)";
var result = /\((\d+)\)/.exec(str);

if(result.length > 1) {  //加这个判断是以防字符串中没有匹配的内容,那么result[1]会抛错!
   console.log("您想要的结果是:" +result[1]); //输出 236737。 
} else {
   console.log("字符串中没有符合条件的数字");
}
淡淡烟草味
var number = "deleteChild(236737)".replace(/.*\((\d+)\)$/, '');
大家讲道理

Anda boleh menggunakan kaedah split rentetan. split() 方法用于把一个字符串分割成字符串数组。

var num1=str.split("(")  //["deleteChild", "236737)"]
var num2=num1[1].split(")") //["236737", ""]
var result=num[0]
Peter_Zhu

Jawapan saya juga berdasarkan prinsip jawapan undian tinggi, tetapi saya secara peribadi berpendapat mungkin lebih mudah untuk difahami jika saya menulisnya dengan cara ini

var str = "deleteChild(236737)";
var reg= /\((\d+)\)/;

if(reg.test(str)){ //如果匹配上直接获取括号里的内容
    console.log(RegExp.) //236737
}
仅有的幸福
/\d+/g
左手右手慢动作

Saya bersetuju dengan kaedah penulisan di tingkat 4, ia sangat mudah dan mudah.
Pembelajaran ekspresi biasa yang sistematik, saya sangat mengesyorkan manual pengguna hujung hadapan ungkapan biasa | pautan sf: Pengguna hujung hadapan ekspresi biasa manual-Louis bersembang tentang bahagian hadapan-SegmentFault
Kandungan asal sangat panjang, ringkasan yang sangat komprehensif.

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