正则表达式学习

正则(规则)表达式(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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是正则表达式 Regular Expression使用单个字符串来描述,匹配一系列符合某个句法规则的字符串 说...
    打铁大师阅读 795评论 1 6
  • 最近在学PHP,js时需要用到正则表达式,尽管在学Python时学了一些但是不够系统。每次看到繁琐的正则,就浅尝辄...
    zjbao123阅读 479评论 0 2
  • 字符串函数 1.search的用法var str="ssdsaassss"; str.search('aa');s...
    Q丁阅读 282评论 0 0
  • 一.正则表达式匹配原则 占有字符和零宽度 在正则表达式匹配过程中,如果子表达式匹配到的是字符内容,并被保存在结果之...
    Coree阅读 564评论 0 0
  • 有一天我不再年轻 我已经看到看到 那一天远山青翠 一百年前你曾拨弄的发丝 迎风飞舞 岁月无声我也无泪 那一天我就有...
    行走的卓玛阅读 216评论 0 0