首页 > 其他分享 >正则表达式基础

正则表达式基础

时间:2023-09-13 09:57:42浏览次数:40  
标签:字符 abc 匹配 正则表达式 基础 等价 一个 字符串

参考:https://blog.csdn.net/weixin_44489823/article/details/100174865,https://blog.csdn.net/m0_62618110/article/details/123704869

基础语法

" ^ "指出一个字符串的开始

" $ "指出一个字符串的结束

" \" 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符

"^abc" :匹配所有以"abc" 开始的字符串(例如:"abc","abccba")

"abc$":匹配所有以"abc" 结尾的字符串(例如:"gggabc","reddcba")

"^abc$":匹配开始和结尾都为"abc"的字符串(例如:"abc")

"abc":没有任何字符,匹配任何包含"abc"的字符串(例如:"aaaabccc","abc123")

"n":匹配n "\n":匹配换行符"\/"这里是\ he / 连在一起写,匹配" / " 字符



" * " 匹配前面的子表达式零次或多次

" + " 匹配前面的子表达式一次或多次

" ? " 匹配前面的子表达式零次或一次

"ac*":匹配字符串其中一个a后面跟着零个或若干个c (例如:"accc","abbb")

"ac+":匹配字符串其中一个a后面跟着至少一个c或者多个(例如:"ac","acccccccc")

"ac?":匹配字符串其中一个a后面跟着零个或者一个c (例如:"a","ac")

"a?c+$":匹配字符串的末尾有零个或一个a跟着一个或多个c (例如:"ac","acccccc",''c'',"ccccccc")



" {n} " n为非负整数,匹配n次

" {n,} " n为非负整数,匹配至少n次

" {n,m} " n,m为非负整数,最少匹配n次最多匹配m次

"ab{3}":表示一个字符串有一个a后面跟随2个b (例如:"abb","abbbbb")

"ab{3,}":表示一个字符串有一个a后面跟随至少2个b (例如:"abb","abbb")

"ab{3,6}":表示一个字符串有一个a后面跟随3到6个b (例如:"abbb","abbbb","abbbb")



" | " 表示"或"

" ." 表示任何字符

"a|b":表示一个字符串里有a 或者b (例如:"a","b","ab","abc")

"a.":表示一个字符串有一个a 后面跟着一个任意字符(例如:"a1","a456","avv")



方括号里用"^"表示不希望出现的字符

" [abc]" :表示字符集合,表示一个字符串有一个"a"或"b"或"c"等价于[z|b|c]

" [^abc]" : 表示一个字符串中不应该出现abc,即是匹配未包含改集合的任意字符

" [az]" :表示一个字符串中存在一个a和z之间的所有字母

" [0-9]" :表示一个字符串中存在一个0和9之间的所有数字

" [^az]" :表示一个字符串中不应该出现a到z之间的任意一个字母

"^[a-zA-Z]" :表示一个字符串中以字母开头

"[0-9]%":表示一个百分号前有一个的数字;



" \d " 匹配一个数字字符,等价[0-9]

" \D " 匹配一个非数字字符,等价[^0-9]

" \f" 匹配一个换页符,等价\x0c和\cL

" \n " 匹配一个换行符。等价于\x0a和\cJ

" \r " 匹配一个回车符。等价于\x0d和\cM

" \s " 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]

" \S" 匹配任何非空白字符。等价于[^ \f\n\r\t\v]

" \t" 匹配一个制表符。等价于\x09和\cI

" \v " 匹配一个垂直制表符。等价于\x0b和\cK

" \w" 匹配包括下划线的任何单词字符。等价于“ [A-Za-z0-9_]”

" \W" 匹配任何非单词字符。等价于“ [^A-Za-z0-9_]”

实例

/^[0-9]{1,20}$/

表示字符串全部由数字组成,即是匹配当前字符串是否是由全数字组成

[0-9] 表示字符的范围是0到9

{1,20}表示字符串长度至少为1,最多为20,字符串出现次数的范围



/^[a-zA-Z]{1}([a-zA-Z0-9._]){5,15}$/

可以用来验证登录名,首字母为字母,长度为至少6最多16

^[a-zA-Z]{1} 表示最开始的第一个首字母为字母

([a-zA-Z0-9._]){5,15} 这是首字母后面的即是从第二个字母开始要求至少再有5个最多15个由字母数字以及指定特殊字符组成的字符串



/^[1][3|4|5|8][0-9]\d{8}$/

可以用来验证手机号码,首字母为1,长度11,首尾都是数字

^[1] 第一个数字为1

[3|4|5|8] 第二个数字为3或者4或者5或者8

[0-9]\d{8} 匹配一个数字范围是0-9,匹配8次,所以至少要有8个数字。加起来就是11个



/^(\w){6,20}$/

验证密码

\w匹配任何非单词字符等价于“ [^A-Za-z0-9_]”

(\w){6,20} 匹配任何非单词字符,最少6个最多20个

java正则用法

Java的正则表达式是由java.util.regex的Pattern和Matcher类实现的。Pattern对象表示经编译的正则表达式。静态的compile( )方法负责将表示正则表达式的字符串编译成Pattern对象。

public class test{
	Pattern pattern = Pattern.compile("\\w+");	
	Matcher matcher = pattern.matcher(example);
	matcher.matches();
}

标签:字符,abc,匹配,正则表达式,基础,等价,一个,字符串
From: https://www.cnblogs.com/hasome/p/17698727.html

相关文章

  • web前端入门到实战:HTML5基础-新增标签+新增属性+布局案例
    html5中常用的结构标签article文章header头部nav导航section区域aside侧边栏hgroup区块的相关信息figure定义一组内容及标题figcaption定义figure元素的标题footer底部dialog对话框使用习惯:header/section/footer>aside/articl......
  • 数据库基础面试第四弹
    1.Redis的数据结构有哪些1.字符串(String):字符串是Redis最基本的数据结构。它可以存储任意类型的数据,包括文本、整数或二进制数据。字符串类型的值最大可以达到512MB。SETname"John"GETname```将字符串"John"存储在键名为"name"的字符串类型数据结构中,并通过GET命令获取......
  • Unity 游戏开发、02 基础篇 | 知识补充、简单使用动画、动画状态机
    前置笔记(由浅入深)Unity游戏开发、01基础篇2场景操作3D场景Q手型工具(鼠标中键):上下左右移动场景ALT+鼠标左键:以视图为中心旋转鼠标右键:以观察者为中心旋转SHIFT+Gizmo方块:Y轴归位物体节点+F:观察者定位至物体窗口布局3D项目一般窗口布局如下3全局光照全......
  • 《Python数据分析基础教程:NumPy学习指南.第2版》高清高质量PDF电子书+源码
    罕见的NumPy中文入门教程,Python数据分析首选从最基础的知识讲起,手把手带你进入大数据挖掘领域囊括大量具有启发性与实用价值的实战案例下载:https://pan.quark.cn/s/730b594117c0......
  • 普及一点基础语法知识
    https://www.bilibili.com/read/cv25225883/ 作者:Larry想做技术大佬https://www.bilibili.com/read/cv25225883/出处:bilibili 公布下答案,以及,顺便普及一点基础语法知识。 eoplelieallthetime,it'sauniversalthing.这个句子的所谓“语法错误”,没那么容易分析,我......
  • 《Django基础教程》PDF
    下载:https://pan.quark.cn/s/a49665fa40e5......
  • 【Spark】Spark基础教程
    Spark最初由美国加州伯克利大学的AMP实验室于2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。Spark特点Spark具有如下几个主要特点:运行速度快:Spark使用先进的DAG(DirectedAcyclicGraph,有向无环图)执行引擎,以支持循环数据流与内存计算,基......
  • templace基础
    类型做模板的参数 #include<iostream>#include<vector>#include<string>template<typenameT>voidPrint(Tvalue){ std::cout<<value<<std::endl;}intmain(){ Print<int>(5); Print(5.3);//可以隐式表示类型 Print<std::string&g......
  • Python学习 -- 正则表达式(re模块)
    正则表达式是一种强大的模式匹配工具,用于在文本中查找和匹配特定模式的字符串。在Python中,我们可以使用re模块来操作和处理正则表达式。本篇技术博客将介绍正则表达式的基础语法和re模块的详细使用方法,并通过具体的代码案例来帮助初学者快速掌握正则表达式的使用。正则表达式基础语......
  • java基础
    集合<一>(早)Java中有哪些容器(集合类)?集合中的容器主要分为两种,分别为Map和Collection,Collection下有List/Set/Queue这些子接口,其中,List接口的主要实现类有ArrayList,LinkedList,Vector;Set接口的主要实现类有HashSet,TreeSet,LinkedHashSet;Queue接口主要是BlockingQueue子接口,Bl......