English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
用于模式匹配的String方法:
String支持4种使用正则表达式的方法:
seach()用于检索,参数是一个正则表达式,返回第一个与之匹配的子串的位置,找不到则返回-1,如果参数不是正则表达式,则首先会通过RexExp构造函数将它转换成正则表达式,seach()方法不支持全局搜索,它忽略修饰符g;
replace()用于检索与替换操作,第一个参数是一个正则表达式,第二个参数是要进行替换的字符串。它对调用该方法的字符串检索,按照模式匹配子串替换成第二个参数,若包含修饰符g则全文匹配。若第一个参数不是正则表达式而是字符串,则直接搜索替换掉这个字符串;
text.replace(/javascript/gi,'JavaScript')表示在text全文中搜索不区分大小写的javascript替换成JavaScript
如果用来替换的字符串中出现($加数字),则replace()方法将用与$加数字指代的子表达式匹配的文本来替换,如:
var quote = /"([^"]*)"/g
text.replace(quote,'“$1”');全文搜索与/"([^"]*)"/匹配的字符串,替换为“$1”(表示只改变两边的双引号为中文半角,而存储在$1中的内容不变)$1存储了指代与第一个左圆括号内的子表达式匹配的字符串;
match()唯一参数是一个正则表达式,返回的是一个由匹配结果组成的数组,如果参数不是正则表达式,则首先会通过RexExp构造函数将它转换成正则表达式;
(二)Se questa espressione regolare ha il modificador g, gli elementi dell'array restituito da match() sono tutte le stringhe corrispondenti del contenuto completo
(二)Se questa espressione regolare non ha il modificador g, match() ricerca solo la prima corrispondenza, ma anche restituisce un array (il primo elemento dell'array è la stringa corrispondente, i successivi elementi sono le stringhe corrispondenti di tutte le espressioni regolari racchiuse tra parentesi tonde, ciascuna corrispondenza corrisponde a una parentesi tonda)
Ad esempio:
var url = /(\w*):\/\/([\w.]+)\/(\S*)/; var text = 'http://www.w3school.com.cn/jsref'; var result = text.match(url); if(result != null) { var fullurl = result[0]; var protocol =result[1]; var host = result[2]; var path = result[3]; }
split() suddivide una stringa in un array di sottostringhe secondo il separatore specificato, ad esempio:
'123,345,789'.split(','); //Ritorna['123','345','789']
'1, 2 , 3, 4 ,5 , 6'.split(/\s*,\s*/); //Ritorna['1','2','3','4','5','6']
Questo è tutto il contenuto del riassunto delle note di apprendimento JavaScript fornite dall'autore per la corrispondenza dei modelli, spero che sia utile per tutti, sostenete tutorial con entusiasmo~