转义字符分为以下三类:
(1)带有特定含义的转义字符:\d \w \s \b。
(2)为了表示字符串中特定符号的:\ \’ \” > < . ^ $ * + ?
(3)利用ASCII表示字符:\nnn \xdd \uxxxx
\d表示数字0-9,和[0-9]表示的含义相同。
\D表示非数字,和[^0-9]表示的含义相同。
下列代码匹配字符串中的数字,如将\d改为\D则为匹配非数字
var str=“abcde123”;
//全局匹配数字0-9所包含的数字
var reg=/\d/g;
//str是否含有0-9所包含的数字
var temp=str.match(reg);
console.log(temp); //[“1”,“2”,“3”]
\s表示空白符(包括空格、回车、换行、Tab),\S表示非空白符。
下列代码是用来删除字符串两端的空格
var str=" boo k ";
//匹配字符串中的空格、回车、换行
var reg=/^\s+|\s+$/;
//将字符串中的回车、空格、换行替换为空达到删除空格的目的
var result=str.replace(reg,'');
console.log(result);
\b表示单词边缘(空格、换行、标点符号), \B表示非单词边缘
利用单词边缘匹配,查找单词
var str="a ngth a";
//匹配“单词”nath
var rpe=/\bngth\b/g;
//寻找str中是否含有ngth
var tpp=str.match(rpe);
console.log(tpp)
贪婪匹配的概念主要作用在有一定重复概念的元字符中:* ? + {m,n} {m,}上述几个元字符在进行正则表达式匹配时,默认采用的是贪婪匹配原则。贪婪匹配的概念自动取最大的结果输出。
var ssr="dsssdsssd";
//匹配字符串中的字母重复一次或多次的
var fpp1=/d\w+/;
var ss=ssr.match(fpp1);
console.log(ss);
//输出结果为dsssdsss
//匹配字符串中以d开头和以d结尾的子串
var fpp2=/d\w+d/;
var ss=ssr.match(fpp2);
//输出结果dsssdsss
//匹配字符串中重复了0次或1次的子串
var fpp3=/d\w?/;
var ss=ssr.match(fpp3);
//输出结果ds
//匹配字符串中重复了3到7次的子串
var fpp4=/d\w{3,7}d/;
var ss=ssr.match(fpp4);
//输出结果dsssdsss
分组:正则表达式中使用小括号扩住的部分就被称为一个分组。
后向引用:可以在分组的后面使用\1来引用前面出现过的分组。
注意:$1只能用在replace()方法的第二个参数中,不能用在正则表达式中
var str=“chinese”;
//匹配字符串中以e开头以e结尾的子串
var reg=/e(\w+)e/;
//用分组1替换以e开头以e结尾的字母
var r=str.replace(reg,“$1”);
//$1表示分组匹配的结果,即“s”
console.log(r); //chins
格式:字符串.replace(替换谁,换成谁);
格式:字符串.replace(替换谁,function(result,sub){
return 换成谁;
})
回调函数作为replace()方法的第二个参数,它具备两个参数。
result,匹配第一个参数中正则表达式的结果。
sub,匹配第一个参数中正则表达式的分组的结果。
驼峰式命名
$(function(){
$(".btn").click(function(){
// 定义变量pro=文本框输入内容
var pro=$("input[name=new]").val()
// 定义变量nasa=要替换的内容
var nasa=pro.replace(/-(\w+)/g,function(result,sub){
// 定义变量让文本框中的第一个单词首字母大写
var firetLetter=sub.slice(0,1);
// 定义变量其他字母不变知道结束
var otherLetter=sub.slice(1);
// 输出时大写字母加上不变的字母
return firetLetter.toUpperCase()+otherLetter;
})
console.log(nasa);
})
})
驼峰是命名与句子每个单词大写之间的差别就是将其中的\w改为\b;
将句子每个单词大写
$(function(){
$(".btn").click(function(){
// 定义变量pro=文本框输入内容
var pro=$("input[name=new]").val()
// 定义变量nasa=要替换的内容
var nasa=pro.replace(/\b(\w+)/g,function(result,sub){
// 定义变量让文本框中的第一个单词首字母大写
var firetLetter=sub.slice(0,1);
// 定义变量其他字母不变知道结束
var otherLetter=sub.slice(1);
// 输出时大写字母加上不变的字母
return firetLetter.toUpperCase()+otherLetter;
})
console.log(nasa);
})
})