正则表达式


我就翻书看到讲正则表达式的,,以前一直听说过,感觉很难也没去看,今天看到许多地方ajax验证一堆都提到,,就浅显的看看,了解的也不深,就知道基本的几个,在这里记录一下,以后再深入了解


先说一下用途

说白了就是查找验证匹配替换定位一堆对字符串的处理方式


怎么使

var a=new RegExp(‘s+’);
var a=/s+/;

s+就是一个最简单的正则表达式
就是搜索一个或多个字母“s”

就和string number一样regexp也是js的对象
所以也有方法可以调用
test()检测是否有匹配的字符串
exec()执行 以一个数组的形式返回第一个匹配的

var re =/js/;
var str="jsjsjsjsjs";
if(re.test(str)){
document.write("有");
}

有个需要注意的就是正则表达式区分大小写
所以你如果想不区分大小写可以这样
var re=/javascript/i;//就是在/后面加个i
var re=new RegExp("javascript","i")
除了i 还有g(全局匹配),m(多行匹配)^(一行开始)&(一行结束)

时间紧我就不把js全部代码全血出来了

举几个简单例子
还是写一下吧

function(){
var re=new RegExp('js*','ig');
//匹配一个j与多个s组合 全局不区分大小
var str="djsklasjs jsss jsiiii";
var resultarray=re.exec(str);
while(resultarray){
//while用来判断正则表达式是否执行完成 完成返回一个空
document.write(resultarray[0]);
//显示匹配的部分
document.write(re.lastIndex+"
")
//正则表达式中lastIndex指向匹配对象的位置
}

结果
js 1
js 7
jsss 10
js 15

var re=/(ds)+(j+s)/ig
//匹配一个以上的ds(不能分开)同时紧邻一个以上j和一个s
//dsdsjs可以
//dsdsdsjjs可以
//js不可以因为(ds)后面是“+”如果是“*”就可以为零个ds //js这种情况就可以匹配



###正则表达式的转义字符
就是反斜杠\\\\\\
\+
\*
\s   表示空格,,,,,常用
>var re=/\s\*/g;
var str="wo *shi *guozhipeng";
var resultstring=str.replace(re,-);
alert(resultstring);
就会变成wo-shi-guozhipeng

这里我在说一下就是  +  *  ?  .   这几个符号
+表示匹配一个以上
*表示0个以上
?表示0或1次
.   表示就一次同时   "."可以用来表示所有的字符


var str=""guozhipeng"hehehehehhehehe";
如果用(.*)匹配就是整个字符串"guozhipeng"hehehehehhehehe
用(.*?)就会变成“guozhipeng”因为?匹配表示0或1,而我的双引号已经出现两次了,,,所以就输出“guizhipeng”


在说几个我看到的几个常用的正则表达式

\d 一个或多个数字等同于[0~9]
\D 一个或多个非数字=======等同于[^0~9]
这里“^”表示反
[A~Za~z]所有字母
/^the/这里的^表示开头   使用这个就表示用the开头的字符串
/end$/这里的$表示结尾   表示以end看、结尾的字符串
使用var str=“heheheh end”匹配
var str=“heheh end hehe”不匹配


然后正则表达式中()小括号的使用也很常见,,,使用()后()内的内容会被保存到数组里
str=“the is fun 0 ni”
在/(^\D*)[0~9]/ 匹配后会出现两个记录
一个是the is fun 0
还有一个就是小括号里的the is fun
同时$1这时就指代小括号里匹配的第一个元素  如果有其他的匹配项会一次定义为$1  $2   $3
(美元符号显示不出来1,2,3前面有一个¥类似的美元符号)


a|b|c   还是或的意思
s{2}就表示两个s字母
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容