JAVA的正则表达式语法
x 字符 x。例如a表示字符a
\\ 反斜线字符。在书写时要写为\\\\。(注意:因为java在第一次解析时,把\\\\解析成正则表达式\\,在第二次解析时再解析为\,所以凡是不是1.1列举到的转义字符,包括1.1的\\,而又带有\的都要写两次)
\0n 带有八进制值 0的字符 n (0 <= n <= 7)
\0nn 带有八进制值 0的字符 nn (0 <= n <= 7)
\0mnn 带有八进制值 0的字符 mnn(0 <= m <= 3、0 <= n <= 7)
\xhh 带有十六进制值 0x的字符 hh
\uhhhh 带有十六进制值 0x的字符 hhhh
\t 制表符 ('\u0009')
\n 新行(换行)符 ('\u000A')
\r 回车符 ('\u000D')
\f 换页符 ('\u000C')
\a 报警 (bell) 符 ('\u0007')
\e 转义符 ('\u001B')
\cx 对应于 x 的控制符
2.字符类
[abc] a、b或 c(简单类)。例如[egd]表示包含有字符e、g或d。
[^abc] 任何字符,除了 a、b或 c(否定)。例如[^egd]表示不包含字符e、g或d。
[a-zA-Z] a到 z或 A到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a到 d或 m到 p:[a-dm-p](并集)
[a-z&&[def]] d、e或 f(交集)
[a-z&&[^bc]] a到 z,除了 b和 c:[ad-z](减去)
[a-z&&[^m-p]] a到 z,而非 m到 p:[a-lq-z](减去)
3.预定义字符类(注意反斜杠要写两次,例如\d写为\\d)任何字符
(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
4.POSIX 字符类(仅 US-ASCII)(注意反斜杠要写两次,例如\p{Lower}写为\\p{Lower})
\p{Lower} 小写字母字符:[a-z]。
\p{Upper} 大写字母字符:[A-Z]
\p{ASCII} 所有 ASCII:[\x00-\x7F]
\p{Alpha} 字母字符:[\p{Lower}\p{Upper}]
\p{Digit} 十进制数字:[0-9]
\p{Alnum} 字母数字字符:[\p{Alpha}\p{Digit}]
\p{Punct} 标点符号:!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
\p{Graph} 可见字符:[\p{Alnum}\p{Punct}]
\p{Print} 可打印字符:[\p{Graph}\x20]
\p{Blank} 空格或制表符:[ \t]
\p{Cntrl} 控制字符:[\x00-\x1F\x7F]
\p{XDigit} 十六进制数字:[0-9a-fA-F]
\p{Space} 空白字符:[ \t\n\x0B\f\r]
5.java.lang.Character 类(简单的 java 字符类型)
\p{javaLowerCase} 等效于 java.lang.Character.isLowerCase()
\p{javaUpperCase} 等效于 java.lang.Character.isUpperCase()
\p{javaWhitespace} 等效于 java.lang.Character.isWhitespace()
\p{javaMirrored} 等效于 java.lang.Character.isMirrored()
6.Unicode 块和类别的类
\p{InGreek} Greek 块(简单块)中的字符
\p{Lu} 大写字母(简单类别)
\p{Sc} 货币符号
\P{InGreek} 所有字符,Greek 块中的除外(否定)
[\p{L}&&[^\p{Lu}]] 所有字母,大写字母除外(减去)
7.边界匹配器
^ 行的开头,请在正则表达式的开始处使用^。例如:^(abc)表示以abc开头的字符串。注意编译的时候要设置参数MULTILINE,如 Pattern p = Pattern.compile(regex,Pattern.MULTILINE);
$ 行的结尾,请在正则表达式的结束处使用。例如:(^bca).*(abc$)表示以bca开头以abc结尾的行。
\b 单词边界。例如\b(abc)表示单词的开始或结束包含有abc,(abcjj、jjabc 都可以匹配)
\B 非单词边界。例如\B(abc)表示单词的中间包含有abc,(jjabcjj匹配而jjabc、abcjj不匹配)
\A 输入的开头
\G 上一个匹配的结尾(个人感觉这个参数没什么用)。例如\\Gdog表示在上一个匹配结尾处查找dog如果没有的话则从开头查找,注意如果开头不是dog则不能匹配。
\Z 输入的结尾,仅用于最后的结束符(如果有的话)
行结束符 是一个或两个字符的序列,标记输入字符序列的行结尾。
以下代码被识别为行结束符:
‐新行(换行)符 ('\n')、
‐后面紧跟新行符的回车符 ("\r\n")、
‐单独的回车符 ('\r')、
‐下一行字符 ('\u0085')、
‐行分隔符 ('\u2028') 或
‐段落分隔符 ('\u2029)。
\z 输入的结尾
当编译模式时,可以设置一个或多个标志,例如
Pattern pattern = Pattern.compile(patternString,Pattern.CASE_INSENSITIVE + Pattern.UNICODE_CASE);
下面六个标志都是支持的:
‐CASE_INSENSITIVE:匹配字符时与大小写无关,该标志默认只考虑US ASCII字符。
‐UNICODE_CASE:当与CASE_INSENSITIVE结合时,使用Unicode字母匹配
‐MULTILINE:^和$匹配一行的开始和结尾,而不是整个输入
‐UNIX_LINES: 当在多行模式下匹配^和$时,只将'\n'看作行终止符
‐DOTALL: 当使用此标志时,.符号匹配包括行终止符在内的所有字符
‐CANON_EQ: 考虑Unicode字符的规范等价
8.Greedy 数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
9.Reluctant 数量词
X?? X,一次或一次也没有
X*? X,零次或多次
X+? X,一次或多次
X{n}? X,恰好 n 次
X{n,}? X,至少 n 次
X{n,m}? X,至少 n 次,但是不超过 m 次
10.Possessive 数量词
X?+ X,一次或一次也没有
X*+ X,零次或多次
X++ X,一次或多次
X{n}+ X,恰好 n 次
X{n,}+ X,至少 n 次
X{n,m}+ X,至少 n 次,但是不超过 m 次
转载于:https://blog.51cto.com/dreamching/1064477
相关文章:
应届生失业率或继续上升?别怕,这份秋招指南请收好!
受疫情影响,今年的就业形势基本上没跑了:“各行各业,大小企业,全面缩招!”据国家统计局7月份的最新数据显示:20-24岁大专及以上人员(主要为新毕业大学生)失业率比去年同期高 3.3 个百…
微信小程序把玩(三十五)Video API
原文:微信小程序把玩(三十五)Video API电脑端不能测试拍摄功能只能测试选择视频功能,好像只支持mp4格式,值得注意的是成功之后返回的临时文件路径是个列表tempFilePaths而不是tempFilePath文档写的有点问题。 主要属性:…

使用.NET发送邮件
出自: http://blog.csdn.net/ycl111/如果你曾经使用过ASP来发送邮件,你大概会使用CDONTS,但是在.NET里,发送邮件的功能已经封装进 .NET Framework的System.Web.Mail的命名空间里了,使用这个命名空间下类,就可以很容易…
采摘工人月薪十万却无人应聘,英澳农场求助 AI
作者 | 神经小兮来源 | HyperAI超神经金秋时节,本是收获的季节,但是英国、澳大利亚等地的果农却愁容满面。眼看着日渐成熟的瓜果就要烂在地里,却还招不到采摘工人。缺人,成为果农们眼下急需解决的问题。虽然大型联合收割机早已普及…

好记性不如烂笔杆-android学习笔记二 Acitvity lifecycle 生命周期
7,//Acitvity lifecycle 生命周期/***1,一个Activity就是一个类,并且这个类要继承Activity*2,复写onCreate方法*3,每个Activity需要在Androidmanifest.xml文件中配置*4,为Activity添加控件*/ 1 public class Activity …

hdu5740
考验代码能力的题目,感觉网络流一要求输出方案我就写的丑 http://www.cnblogs.com/duoxiao/p/5777632.html 官方题解写的很详细 因为如果一个点染色确定后,整个图的染色也就确定了; 对于两个点u和v, 令它们之间的最短路是dis(u,v), 那么交换它…

xml操作类(转载)
作者:未知 请与本人联系 <%Class XMLDOMDocument Private fNode,fANode Private fErrInfo,fFileName,fOpen Dim XmlDom 返回节点的缩进字串 Private Property Get TabStr(byVal Node) TabStr"" If Node Is Nothing Then Exit Property …

对HDS AMS 2000+巡检案例
1. 使用工具:笔记本,网线一根, 2. 使用软件:vmware虚拟机(安装XP P2系统,最好为P3),HSNM2-1152-W-CLI-P01.exe(AMS 200管理软件),jre…
用Python实现坦克大战游戏 | 干货贴
作者 | 李秋键出品 | AI科技大本营(rgznai100)《坦克大战》是1985年日本南梦宫Namco游戏公司在任天堂FC平台上,推出的一款多方位平面射击游戏。游戏以坦克战斗及保卫基地为主题,属于策略型联机类。同时也是FC平台上少有的内建关卡…

SPU、SKU、ARPU是什么,我来记录一下我的理解
在电商系统里经常会提到“商品”、“单品”、“SPU”、“SKU”这几个词,那么这几个词到底是什么意思呢?既然不知道是什么,那么我们就查一下:SPU Standard Product Unit (标准化产品单元),SKUst…

用C#操纵IIS(代码)
using System;using System.DirectoryServices;using System.Collections;using System.Text.RegularExpressions;using System.Text;/*** author 吴海燕* email wuhy80-usualyahoo.com* 2004-6-25 第一版*/ namespace Wuhy.ToolBox{/// <summary>/// 这个类是静态类。…

linux 内核参数调整说明
linux 内核参数调整说明 所有的TCP/IP调优参数都位于/proc/sys/net/目录。例如, 下面是最重要的一些调优参数, 后面是它们的含义: 1. /proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲。2. /proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲。3. /proc/sys/net/ipv4…
Java 最高均薪 19015 元! 9 月程序员工资出炉,你拖后腿了吗?
在全员争当码农的时代,如果你也想学一门编程语言,那么,我要告诉你,Java 是编程语言中不可撼动的王者。有点难理解?先看个排行榜???? 来自权威开发语言排行榜 TIOBE 的数据(截止到 2020 年 4 月&#x…

java 基础知识八 正则表达式
正则表达式 是一种可以用于模式匹配和替换的规范, 一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式, 用以描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为…

PHP中Session的使用
启用配置//修改php.ini中的session.auto_start 0 为 session.auto_start 1session_start();$_SESSION[username]"HM";

《Two Dozen Short Lessons in Haskell》学习(八)- Function Types, Classes, and Polymorphism
《Two Dozen Short Lessons in Haskell》(Copyright © 1995, 1996, 1997 by Rex Page,有人翻译为Haskell二十四学时教程,该书如果不用于赢利,可以任意发布,但需要保留他们的copyright)这本书是学习 Ha…
图神经网络快速爆发,最新进展都在这里了
译者 | 刘畅出品 | AI科技大本营(rgznai100)近年来,图神经网络(GNNs)发展迅速,最近的会议上发表了大量相关的研究论文。本文作者正在整理一个GNN的简短介绍和最新研究报告的摘要。希望这对任何准备进入该领…

css去掉a标签点击后的虚线框
outline是css3的一个属性,用的很少。 声明,这是个不能兼容的css属性,在ie6、ie7、遨游浏览器都不兼容。 outline控制的到底是什么呢? 当聚焦a标签的时候,在a标签的区域周围会有一个虚线的框,这个框不同于bo…

在SQL Server中保存和输出任意类型的文件
我们可以把任意类型的文件保存到SQL Server中,在进行例子之前,先建立测试用表格,TestFile.sql:if exists (select * from dbo.sysobjects where id object_id(N[dbo].[TestFiles]) and OBJECTPROPERTY(id, NIsUserTable) 1) dro…

工作中InnoDB引擎数据库主从复制同步心得
近期将公司的MySQL架构升级了,由原先的一主多从换成了DRBDHeartbeat双主多从,正好手上有一个电子商务网站新项目也要上线了,用的是DRBDHeartbeat双主一从,由于此过程还是有别于以前的MyISAM引擎的,所以这里也将其心得归…
面试官:因为这个语言,我淘汰了90%的人!
很多人都有这样的经历:大量重复性工作;日报、周报、各种报,无穷无尽;不计其数的数据提取琐碎繁杂的事务让工作的效率极低。如果可以一键完成就好了。对这些问题来说,最高效的解决途径就是 Python。1991 年,…

SQL Server不能启动
SQL Server不能正常启动 I had a similar issue after uninstalling Visual Studio 2010 (which autmatically came with a Visual Studio Express 2013 install). I solved it by going through the follwing steps. Installing Visual Studio 2010 shell from here: https://…

ASP.NET 配置节架构
ASP.NET 配置节架构包含控制 ASP.NET Web 应用程序行为的元素。如果为属性指定了默认值,则该默认值是在 Machine.config 文件中设置的,该文件的路径是 systemroot/Microsoft.NET/Framework/versionNumber/CONFIG/Machine.config。 <configuration>…
IEEE迎来首位华人主席,马里兰大学终身教授刘国瑞当选
10月12日,IEEE宣布马里兰大学终身教授刘国瑞(K. J. Ray Liu)当选为2021年IEEE主席,他也是首位当选IEEE主席的华人学者,他将在明年1月开始接任现任IEEE主席Susan K. Kathy Land的职务。 在此次IEEE候选主席竞选中&#…

Visual C++ 2010 简介
VC是用来创建基于 Microsoft Windows 和 Microsoft .NET 的应用程序 原文地址:http://msdn.microsoft.com/zh-cn/library/60k1461a%28vvs.100%29.aspx提供了强大而灵活的开发环境,用于创建基于 Microsoft Windows 和 Microsoft .NET 的应用程序。您可以在…

Linux网络编程:基于UDP的程序开发回顾篇
基于无连接的UDP程序设计 同样,在开发基于UDP的应用程序时,其主要流程如下: 对于面向无连接的UDP应用程序在开发过程中服务端和客户端的操作流程基本差不多。对比面向连接的TCP程序,服务端少了listen和accept函数。前面我们也说过…
四款5G版iPhone 12齐发,苹果股价却应声而跌
整理 | 郑丽媛、屠敏题图 | 东方IC来源 | CSDN(CSDNnews)真快,又见面了。北京时间 10 月 14 日凌晨 1 点,Apple 举办的新品发布会如约而至。今年有关 iPhone 新品的到来有些迟,好在「5G just got real」,万…

Linux编译器GCC的使用
嵌入式Linux编译器GCC的使用 1、GCC概述 作为自由软件的旗舰项目,Richard Stallman在十多年前刚开始写作GCC的时候,还只是仅仅把它当作一个C程序语言的编译器,GCC的意思也只是GNU C Compiler而已。 经过了这么多年的发展,GCC已经不…

jquery兼容IE和火狐下focus()事件
<input type"text" id"my" name"my" /> <script type"text/javascript">$("#my").focus(); </script> 上面的代码在IE下是没有任何问题的,但是不兼容FF,在FF没有反应解决办法:兼容写法 IE和FF下focus()事…

Access-Control-Allow-Origin这个header这个头不能设置通配符域名
这个header属性,要么设置为*,即任何域名来源都行,要么就只能设置为一个或多个,确定的域名,不能使用通配符域名转载于:https://www.cnblogs.com/abcbuzhiming/p/6478910.html