正则基础学习(1)

正则学习

\b是正则中表示分隔符的含义
比如精确地查找hi就使用\bhi\b

.代表地是非换行符地任意字符

*代表的是数量,而且是任意数量

.*连起来的意思就是任意数量的非换行符

\bhi\b.*lucy\b代表的就是hi后面有lucy字段的

\d代表的是数字,比如0\d\d-\d\d\d\d\d\d\d\d表示0开头然后两个数字,加上8个数字

{num}代表的就是重复的次数,比如上面的写法就可以改写成0\d{2}-\d{8}

\w可以看成word,这里代表这数字,字母,汉字,下划线

\s可以看成space,这里代表的是空格,不论是换行符,还是中英文空白符

+代表的重复

+ * {num}的区别,区别在于+代表重复,且至少有一次。*则不限制数字,并且可以数量为0,{mun}则是写得非常详细的数量,{num-num}表示数量是哪一个范围

^ 表示字符串开头

$ 表示字符串结尾

那么和\b有什么不同呢?这是分隔符表示开头或结尾,而^,$/是确定字符串的开始和结尾。

^\d{5,8}\$表示数字是5到8位

当查找一个.时需要使用一个转义的字符\.

其实+类的是限定符 +,*,?,{num},{num,},{num,num},其中?代表的是重复0次或者1次,{num,}代表的是最少,而没有最多

[.?!]表示标点符号的集合,[a-z]表示的是小写的字符串合集

分支条件: | 其实就是或者。不过注意的就是,当从左向右判断的时候,如果先满足了前面的条件,就不会进行后面的判断了
\d{5}|\d{5}-\d{4}这个正则永远不会返回9位的数字,因为前五位都是数字,被第一个条件匹配。

()的作用是将需要重复的多个字符串放入其中,作为一个单元小组来使用限定符(\d{1,3}\.){3}\d{1,3}

用反义的方式,其实就是不包含,\W等。这些方式使用的是大写元字符,而一些范围的排除使用[^]的方式,比如<a[^>]+>匹配用尖括号括起来的以a开头的字符串

待续

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

推荐阅读更多精彩内容

  • 高山流水,知音难觅。 低俗的社交远不如高质量的独处。 我,寻寻觅觅,越来越迷失了自己。 曾经,接受不了价值观不一样...
    麋鹿闯天涯阅读 343评论 6 2
  • 最近在vue项目中用到了axios,写法很简洁,还基于promise,我们后端跨域解决方案用的是CORS(Cros...
    Jser_zk阅读 1,613评论 0 4
  • 其apk在设备上的位置:/system/priv-app/Settings。 开发前准备 除了需要导入Settin...
    风骚无俩阅读 5,721评论 3 4
  • 像奇怪的树木一样, 要被雕刻成艺术品供给欣赏。 根却还往土壤里拼命生长, 当枝叶繁茂,待人借凉。 刻意把阳光泛起波...
    李译阅读 512评论 0 12