Python JQuery 正则表达式mini版
正则表达式
1.定义正则表达式
reg = /正则表达式/
1. /.../ 用于定义正则表达式
2. /.../g 表示全局匹配
3. /.../i 表示不区分大小写
4. /.../m 表示多行匹配
JS正则匹配时本身就支持多行,此处的多行匹配只是影响正则表达式^和$,m模式也会使用^$来匹配换行的内容
1 例子: 2 var pattern = /^java\w*/gm; 3 var text = "java aaa\njava bbb"
这样即使换行了,还是符合匹配要求(以java开头),可以匹配出两个内容,如果没有m就只匹配一个
2.利用正则表达式
1.test(string) 检查和字符串中是否和正则表达式匹配
reg.test(字符串) 匹配就返回true
2.exec(string) 获取正则表达式匹配的内容,如果未匹配,值为null,否则,获取匹配成功的数组。
获取正则表达式匹配的内容,如果未匹配,值为null,否则,获取匹配成功的数组。
1 非全局模式(只匹配第一次) 2 获取匹配结果数组,注意:第一个元素是第一个匹配的结果,后面元素是正则子匹配(正则内容分组匹配) 3 可以对匹配出来的内容进行分组,把匹配的内容提取出来 4 如: 5 var pattern = /\bJava\w*\b/; 6 var text = "JavaScript is more fun than Java or JavaBeans!"; 7 result = pattern.exec(text)————["JavaScript"] 8 9 var pattern = /\bJava(\w*)\b/; 10 var text = "JavaScript is more fun than Java or JavaBeans!"; 11 result = pattern.exec(text)——————["JavaScript","Script"] 12 13 全局模式(匹配所有) 14 需要反复调用exec方法,来一个一个获取结果,直到匹配获取结果为null表示获取完毕 15 var pattern = /\bJava\w*\b/g; 16 var text = "JavaScript is more fun than Java or JavaBeans!"; 17 执行一次:result = pattern.exec(text)————————————["JavaScript"] 18 两次:result = pattern.exec(text)————————————["Java"] 19 三次:result = pattern.exec(text)————————————["JavaBeans"] 20 最后一次:result = pattern.exec(text)————————————["null"] 21 22 var pattern = /\bJava(\w*)\b/g; 23 var text = "JavaScript is more fun than Java or JavaBeans!"; 24 result = pattern.exec(text)
3.字符串中相关的方法
1 1.obj.search(正则表达式) 2 获取索引位置,搜索整个字符串,返回匹配成功的第一个位置(g模式无效) 3 4 2.obj.match(正则表达式) 5 获取匹配内容,搜索整个字符串,获取找到第一个匹配内容,如果正则是g模式找到全部 6 7 3.obj.replace(正则表达式,替换的内容) 通过正则表达式找到内容,然后把找到的内容变成替换的内容。 8 替换匹配替换,正则中有g则替换所有,否则只替换第一个匹配项, 9 $数字:匹配的第n个组内容; 10 $& :当前匹配的内容 obj.replace (正则表达式,替换的内容$&) 把匹配的内容和替换的内容结合 11 $` :位于匹配子串左侧的文本 12 $' :位于匹配子串右侧的文本 13 $$ :直接量$符号 想要输入$ 要有两个$($$)