zoukankan      html  css  js  c++  java
  • 你想要的正则表达式笔记

    入门常识:

    转义字符

      可以把后面的符号强制转化为文本

      换行

    系统规定字符串不能多行显示

    用转义字符可以实现,或者加号

    正则表达式

    匹配特殊的字符或有特殊搭配原则的字符的最佳选择

    尤其是用户名和密码:一般都会格式校验

    邮箱地址,电话,主要是对字符串判断

    两种创建方式:

    • 直接量

    语法:/正则表达式主体/修饰符(可选)

    • new RegExp()

    第一个参数还可以直接把独立的正则表达式添加进去,而且是独立的

    如果不加new的话,就是正则表达式的引用

    修饰符

    多行匹配的解释:

    首先字符串得多行

    ^a表示以a开头的字符串,上述结果如下

    虽然加了换行符,但是还是看做一行字符串的

    因此必须采用多行匹配才能获取两个a

    多行匹配主要是和开头和结尾配合用的。

    正则表达式相关方法

    • reg.test(str): 有满足的就返回true,没有就返回false

    • str.match(reg): 把符合的选择出来,这是字符串的方法,不过经常使用

    • reg.exec(str) :返回数组,存放匹配的结果 ,常与 lastIndex属性联用

     lastIndex值就是返回数组中的index。

    ps: lastIndex值可以手动修改控制返回匹配的位置;此外如果不加g修饰符, lastIndex值一直为0.

    • str.replace( ) : 替换匹配值

    字符串去匹配没有访问全局的能力

    如果不加g修饰符就和之前一样的

    正则表达式主体

    • 方括号[ ] : 表示在范围中取一个值

    • ^: 写在表达式[ ]里面表示非

    • ( | ):括号表示优先级高一点而已

    | 表示或者,bd 和 v中选择一个

    元字符

    和表达式是一个东西

    • w 和 W

    当然也可以写在方括号里:表示其中范围的一个

    ps:以上组合可以匹配任意字符。

    • d 和 D

    • s 元字符:用于查找空白字符。

    在正则表达式里写空格就是真的空格。

    •  单词边界 和  B  非单词边界

    这是选择的左边界,如果两端都设有边界就是下列情况,只能获取中间的abc

    • Unicode编码

    编码是分层的,16进制16层

    我们通常使用的是第一层,简化就是u0000 - uffff

    小例子:

    量词

    • n+ :表示字符出现1到无穷多次

    • n*  : 表示出现0词到多次

    与n+ 相比出现“”的原因是识别7次之后光标移到g的后面,有段逻辑距离,再往后就只能显示0次,则为空了。

    出现8个空的原因是根据光标移动来的。

    贪婪原则:能取多就不会取少

    打破贪婪原则:n??  或者 n*?  ;能取0就不会取1

    量词量的是前面的n,保证每一个都来自同一个区间。

    • ^n 开始  和 n$ 结束

    上式表达的是只有ab

    • 正向预查或正向断言

    /a(?!b)  后面不是跟着b的。

    一个实例:检验一个字符串首尾是否含有数字

    检验一个字符串首尾是否都含有数字

    中间随便填都可以。

    一些拓展

    例1:找相同的

    (n)1 : 表示反向引用第一个匹配的值;(n)表示子表达式

    例2:找aabb类型的

    例3:将aabb转为bbaa

    $1表示引用第一个子表达式,$2表示引用第二个子表达式。

    还可以用这种方式:

    例4:转为小驼峰

    该function()匹配了多少次就会执行多少次。

    例5:字符串去重

    例5:数字每隔三个打个逗号

    “100000000”—— 100,000,000

    思路:从后往前,使用$, 3的倍数,替换空。


  • 相关阅读:
    [java学习点滴]PropertiesUtil 读取properties配置帮助类
    Java快速向数据库中插入大量数据 比如10万条以上
    Java通过IO流输入输出 向文件中存入大量三个属性的值,并通过验证前两个属性输出第三个属性
    JSON 的使用方法
    jQuery easyUI id选择器 类选择器 标签选择器 属性选择器 及DOM对象和jQuery相互之间的转换
    解决request中文乱码问题
    jsp内置对象request使用方法2
    jsp内置对象request的使用方法
    easyui-dialog对话框练习
    使用combobox下拉列表框实现省 市 县 的三级联动
  • 原文地址:https://www.cnblogs.com/markniefeng/p/10561871.html
Copyright © 2011-2022 走看看