通用正则表达式学习的总结
创始人
2024-06-06 10:41:16
0

正则表达式学习总结在网上已经不少了,不过这种笔记多多益善,多看看总是能增进些记忆。下面这个正则表达式学习笔记,希望对大家有所帮助。

\d = [0-9]  表示0-9的任意一个数字
\D = [^0-9]  表示除数字之外的任意字符
\w = [0-9a-zA-Z]  表示数字或字母
\W = [^0-9a-zA-Z]  表示除数字或字母外的任意字符
\s 匹配空白字符(回车、换行、制表、空格)
\S 非空白字符

.能匹配所有字符,除换行符\n(但在如下的模式匹配中将可以匹配\n)
\.和[.]匹配点号本身

*  0-无穷
+  1-无穷
?  0-1次
之前的字符可用括号来表示字符数组的多次,如:(ac)+表示出现一个及以上的ac字符串

{min,max}  min-max次   \d{1,3} 匹配1-3个数字
{min,}  min-无穷次      \d{1,} 匹配一个及以上的数字
{number} 只能是number次  \d{3} 匹配3个数字

多选:
(...|...)在竖线两端添加各个字符串表示多选   (ac|ab) 匹配ac或ab

捕获分组:
1、只要使用了括号就存在捕获分组
2、编号按从左至右
3、获取到的值是匹配的最后一个字符串
(?:..)不捕获文本,不是所有语言都支持,不推荐使用

反向引用:
\1  引用括号内出现的内容,数字为括号编号  (ac)\1 匹配acac

锚点:
\b  单词分解符锚点、一侧是单词字符,另一侧是非单子字符
        单词字符通常是指英文字符、数字字符,对中文不适用
        非单词字符通常是指各种标点复和空白字符
^匹配一行的的开头(有可能变化)
$匹配一行的末尾(有可能变化)
\A匹配整个字符串的开头
\Z匹配整个字符串的末尾

环视:
(?=...)   肯定顺序环视  右侧文本能由此表达式匹配
(?!...)   否定顺序环视  右侧文本不能由此表达式匹配
(?<=...)  肯定逆序环视  左侧文本能由此表达式匹配
注意:
1、环视结构仅用于布尔判断,结构内的子表达式所匹配的文本,不会保存在整个表达式的匹配结果之中
2、逆序环视结构对子表达式存在限制:
        Perl、Python:子表达式必须为固定长度
        PHP、Java:子表达式
可以不定长度,但必须有上限
        .NET:没有任何限制

匹配模式:
I:不区分大小写 Pattern.CASE_INSENSITIVE
S:.可以匹配任何字符 Pattern.DOTALL
M:^$可以匹配字符串中任意起始位置和结束位置 Pattern.MULTILINE
X:可以添加注释(注释以#开头以换行符结束或到表示末尾,此模式会忽略表达式中的所有空白字符) Pattern.COMMENTS

使用多个模式时用|来分隔

作用范围:ismx为模式名,如(?i)AB(?-i)C  (?is)
(?ismx)启用模式
(?-ismx)停用模式
模式范围优先级高于外部指定的模式

正则表达式学习先总结到这里。本文来自JavaEye博客:《正则表达式学习笔记》

【编辑推荐】

  1. C#正则表达式经验总结
  2. PHP正则表达式的几则使用技巧
  3. C#和.NET框架正则表达式
  4. 正则表达式操作符参考列表
  5. C#正则表达式语法应用详解

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...