-
\bxxx\b 单词边界 [\b] 匹配一个退格符(backspace)(不要与 \b 混淆)查看全部
-
1、\ 2、d 数字 匹配4个数字 ,如:dddd,d{4} 3、[] 如:[/-] 同时匹配/和- 4、^ 表示开头 5、$ 表示结尾 6、()分组,,, 如 http:(\/\/.+\.jpg) 用圆括号包起来可以用 $1,指代,,如下面的例子1。 例子1:要替换协议是http且图片类型是jpg的图片 http://www123.jpg http://www123.png https://www123.jpg https://www123.png regular: 如果这样 “ http:\/\/.+\.jpg ”能匹配到要查找的图片,然后执行替换\/\/.+\.jpg,这时\/\/.+\.jpg 会显示出来,但是我的目的只是要去掉协议,显然现在的结果不是我要的,这时就需要用(),当加上了(),相当于给定义了一个变量,这里指$1,因此替换的时候,可以$1 就可以。 http:(\/\/.+\.jpg) 例子2:匹配所有日历2012-12-01,2012/12/01 2012/12/01 2013-12-12 20144/12/13 2013-12-122 20121212 regular:^\d{4}[/-]\d{2}[/-]\d{2}$ ^\d{4}[-/]\d{2}[-/]\d{2}$查看全部
-
http://regexper.com查看全部
-
处理字符串强大 $1代表第一个分组里的内容 ()分组 []或 {}量次{3} ^开头 $结尾(防止出现半截的匹配) +:一个或多个循环 ?:零个或一个 *:任意次 单词边界\b查看全部
-
也就是/g全文 /i忽略大小写 /m多行搜索 lastIndex下次想从哪里开始查看全部
-
用小括号分组,$1代表第一组;不分组的时候,$1默认为一个字符查看全部
-
/[a-z]\d{3}/g 匹配的是三次数字 /([a-z]\d){3}/g 匹配的是字母+数字组合匹配三次查看全部
-
/* * 预定义类 * . 等价于 [^\r\n] 表示除了回车符和换行符之外的所有的字符 * \d 等价于 [0-9] 数字字符 d:digit * \s 等价于 [\t\n\x0B\f\r] 空白符 s:space * \w 等价于 [a-zA-Z_0-9] 单词字符(字母、数字下划线) w:word * 大写的表示取反 * 边界匹配 * ^ 以XXX开始 * $ 以XXX结束 * \b 单词边界 * m 多行 */ var str = "@123\n@abc\n@jfl" var re = /^@\w\D/gm; var str2 = ""; str2 = str.replace(re,"中"); alert(str2);查看全部
-
什么是正则表达式查看全部
-
字符串对象方法 1.search String.prototype.search(reg) search()方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串 方法返回第一个匹配结果 index,查找不到返回 -1 search()并不执行全局匹配,它将忽略标志 g ,并且总是从字符串的开始进行检索 例子: 'A11B2C3D4'.search(/\d/) 1 2.match String.prototype.match(reg) match()方法将检索字符串,以找到一个或多个与RegExp匹配的文本 RegExp是否具有标志 g 对结果影响跟大 非全局调用,即没有 g 如果RegExp没有标志 g,那么 match()方法就只能在字符串中执行一次匹配 如果没有找到任何匹配的文本,将返回null 否则它将返回一个数组,其中存放了与它找到的匹配文本有关的信息 返回数组的第一个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本 除了常规的数组元素之外,返回的数组还含有2个对象属性 index 声明匹配文本的起始字符在字符串的位置 input 声明对 stringObject的引用 全局调用 如果RegExp具有标志 g,则match()方法将执行全局检索,找到字符串中的所有匹配子字符串 没有找到任何匹配的子串,则返回null 如果找到了一个或多个匹配的子串,则返回一个数组 数组元素中存放地字符串中所有的匹配子串,而且也没有index 属性或input属性 3.replace String.prototype.replace(str,replaceStr) String.prototype.replace(reg,replaceStr) String.prototype.replace(reg,function) function参数含义 function会在每次匹配替换的时候调用,有四个参数 匹配字符串 正则表达式分组内容,没有分组则没有该参数 匹配项在字符串中 index 原字符串查看全部
-
预定义类 正则表达式提供了 预定义类 匹配常见的字符类 . 等价于 [^\r\n] 表示除了回车符和换行符之外的所有的字符 \d 等价于 [0-9] 数字字符 \D 等价于 [^0-9] 非数字字符 \s 等价于 [\t\n\x0B\f\r] 空白符 s:space \S 等价于 [^\t\n\x0B\f\r] 非空白符 \w 等价于 [a-zA-Z_0-9] 单词字符(字母、数字下划线) w:word \W 等价于 [^a-zA-Z_0-9] 非单词字符 提示:大写的表示取反 例子: 匹配一个 ab+数字+任意字符 的字符串 使用范围类:ab[0-9][^\r\n] 使用预定义类:ab\d. 常见的边界匹配字符: ^ 以XXX开始 $ 以XXX结束 \b 单词边界 \B非单词边界 例子: 1. '@123@abc@'.replace(/^@./g,'Q'); "Q23@abc@" 2.'@123@abc@'.replace(/.@$/g,'Q'); "@123@abQ" 3.'@123@abc@'.replace(/.@/g,'Q'); "@12QabQ"查看全部
-
正则表达式应用场景 1.在IDE中使用正则表达式处理规则复杂的字符串查找、替换需求 2.在JavaScript程序设计中使用正则表达式处理字符串 3.在其他语言中 正则表达式 Regular Expression,使用单个字符串来描述、匹配一序列符合某个句法规则的字符串 简言之:就是按照某种规则去匹配符合条件的字符串,而这种规则就是正则表达式 使用正则表达式的目的: 自己先定义一种规则,然后去匹配一个字符串中符合规则的子字符串,甚至是整个字符串是否符合规则 通配符 find ./ -name *.txt 在当前目录下查找所有的txt文件 *.txt *代表任意字符 匹配邮箱的正则表达式 ^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$ 在线的正则表达式工具:http://regexper.com 语法: \b:单词边界 \bis\b .:任意字符 需要转义 \. *:0-n +: 1-n ?: 0-1 \d: 数字 \转义 匹配日期: 2006/02/03 1998-03-07 ^(\d{4})[\-](\d{2})[\-](\d{2})$ ()分组 取出:$2-$3-$1 02-03-2006 $1代表第一个小括号的内容,以此类推查看全部
-
\d 字符查看全部
-
正则表达式本身的两个方法 1.test RegExp.prototype.test(str) 用于测试字符串参数中是否存在匹配正则表达式模式的字符串,如果存在则返回true,否则返回false lastIndex 记录当前匹配结果的、最后一个字符的、下一个字符的位置 注意:test()方法在匹配的时候当匹配到一个结果时,会从lastIndex位置开始匹配下一个结果,直到不存在的时候才置为0。因此,当使用全局g属性标识时,当匹配到最后一个结果时,lastIndex值指向不存在的位置,此时再执行test()会返回false。 例子:多次执行test()方法,会在true、false之间循环 (/\w/g).test('a')每次执行都是正确的,但是通过实例化对象,需要很大的开销 test()方法:原意就是测试有没有、能不能匹配上,当使用test原意时,没必要加g 2.exec RegExp.prototype.exec(str) 使用正则表达式模式对字符串执行搜索,并将更新全局RegExp对象的属性一反映匹配结果 如果没有匹配的文本则返回 null,否则返回一个结果数组: - index 声明匹配文本的第一个字符位置 - input 存放被检索的字符串 string 非全局调用 调用非全局的RegExp对象的 exec()时,返回数组 第一个元素是与正则表达式相匹配的文本 第二个元素是与RegExpObject的第一个子表达式相匹配的文本(如果有的话) 第三个元素是与RegExp对象的第二个子表达式相匹配的文本(如果有的话),以此类推查看全部
-
贪婪模式(默认) \d{3,6} 1234568 正则表达式在匹配时,尽可能多的匹配,直到匹配失败 '1234568'.replace(/\d{3,6}/g,'Q'); "Q8" '1234568'.replace(/\d{3,6}/,'Q'); "Q8" 非贪婪模式 正则表达式尽可能少的匹配,即一旦成功匹配就不再继续匹配 做法:在量词后加上 ? 即可 例子:'123456789'.match(/\d{3,5}?/g) ["123", "456", "789"]查看全部
举报
0/150
提交
取消