美文网首页
正则表达式学习

正则表达式学习

作者: n0n0ma | 来源:发表于2017-12-04 15:24 被阅读0次

    正则(规则)表达式(Regular Expression)


    表达风格

    JS风格:new RegExp("表达式规则,其实就是perl写法,注意的是表示'/'的时候要再加上转义字符'/', "i或g");

    perl风格:/表达式/i或g

    其中i表示ignore(不区分大小写),g表示global(不单单取一个,全局都要取)


    表达方法

    转义字符

    \d------digital数字0-9,

    \w------word数字字母横杆0-9a-z_,

    \s------空格,分隔符

    \b-----分割符,如逗号,空格

    其中写法如为大写字母,则表示排除的意思

    任意字符

    [abc]

    范围

    [a-z] [0-9]

    排除

    [^a] [^0-9] [^\d]

    组合

    [a-z0-9A-Z]

    量词

    {1,9} 最小取1个,最大取9个

    {0,1}零次或1次,等效于"?"

    {1,}最小取1个,等效于"+"

    {0,}任意次,不建议使用,等效于"*"

    {3}正好取3个

    表达首尾

    "^"首,写最前面,"$"尾,写最后面

    表达所有字符

    "."


    配合字符串方法使用

    str.search("abc"):字符串搜索,返回字符串第一次出现的位置,如搜索不到,返回-1;

    str.match("abc"):获取匹配的项目,返回数组;

    str.replace():替换所有匹配,并返回替换后字符串;

    str.charAt(3):返回所在位置字符

    str.substring("1","3")  :获取子字符串,返回位置1到位置2的字符串,注意不是位置3

    str.split(",")  分割字符串,获得数组,如根据逗号作为分割依据


    正则表达式方法

    re.test(str);


    正则使用例子

    获取QQ号:var re = /[1-9]\d{1,10}/

    邮箱检验: var re = /^\w+@[0-9a-z]+\.[a-z]{2,4}/

    偷小说: var re = /<[^<> ]+>/g

    筛选中文:var re = / [\u4e00-\u9fa5]/

    完美getByClass: var re = /\b"classname"\b/

    去空格: var re = /\s+/g

    相关文章

      网友评论

          本文标题:正则表达式学习

          本文链接:https://www.haomeiwen.com/subject/egttkxtx.html