在《java编程思想》中,java中的 \\ 表示“我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。”如果想插入一个普通的反斜线,那么应该使用 \\\\

理解:

我们使用的反斜杠,就是一个 \

但是在java等编程语言中,我们需要使用转义:一个文艺反斜杠 \\ 表示一个普通反斜杠 \

正则表达式中,反斜杠也需要转义,即 \\ 表示匹配一个 \,然后蛋疼的事儿就来了,当你在 java中写 \\ 时,其实正则表达式引擎只接受到了一个 \,所以,如果你想让正则表达式引擎接受两个反斜杠,那么这两个斜杠都得转义。

于是,正则表达式匹配一个 \ 是,应该写 \\

这时,第一个 \ 在 java 字符串中写为 \\

第二个 \ 在 java 字符串中写为 \\

于是,你就看到了java中无比蛋疼的 \\\\

常用正则表达式:

1、字符

B            指定字符B

\xhh       十六进制值为0xhh的字符

\uhhhh   十六进制表示为0xhhhh的Unicode字符

\t           制表符Tab

\n          换车符

\r           回车

\f           换页

\e          转义(Escape)

2、字符类

.      任意字符

[abc]                包含a、b 和c的任何字符(和a|b|c作用相同)

[^abc]          除了a、b 和c之外的任何字符(否定)

[a-zA-z]        从a到z或从A到Z的任何字符(范围)

[abc[hij]]          任意a、h、i、和j字符(与a|b|c|h|i|j作用相同)(合并)

[a-z&&[hij]]          任意h、i或j(交)

\s                        空白符(空格、tab、换行、换页和回车)

\S           非空白符([^\s])

\d           数字[0-9]

\D           非数字[^0-9]

\w           词字符[a-zA-Z0-9]

\W                       非词字符[^\w]

3、逻辑操作符

XY                       Y跟在X后面

X|Y                      X或Y

(X)                       捕获组,可以在表达式中用\i表示第i个捕获组

4、边界匹配符

^                         一行的起始

$                         一行的结束

\b                        词的边界

\B                        非词的边界

\G                        前一个匹配的结束

5、量词

贪婪型                     勉强型                      占有型                     如何匹配

X?                          X??                         X?+                        一个或零个X

X*                          X*?                        X*+                        零个或多个X

X+                          X+?                      X++                        一个或多个X

X{n}                       X{n}?                    X{n}+                    恰好n次X

X{n,}                      X{n,}?                   X{n,}+                   至少n次X

X{n,m}                   X{n,m}?                X{n,m}+                X至少n次,且不要超过m次

java中正则表达式的更多相关文章

  1. java中正则表达式基本用法

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

  2. java基础---->java中正则表达式二

    跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...

  3. Java中正则表达式去除html标签

    Java中正则表达式去除html的标签,主要目的更精确的显示内容,比如前一段时间在做类似于博客中发布文章功能,当编辑器中输入内容后会将样式标签也传入后台并且保存数据库,但是在显示摘要的时候,比如显示正 ...

  4. JAVA中正则表达式常用的四个方法

    JAVA中正则表达式处理字符串的四个常用方法:匹配.分割.替换.截取.其跟字符串的常用函数相似,但是使用正则表达式会更简单.更加简洁.下面是具体的例子: public class TestRegex ...

  5. java中正则表达式基本用法(转)

    https://www.cnblogs.com/xhj123/p/6032683.html 正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符( ...

  6. JAVA中正则表达式学习总结

    一.JAVA中正则表达式相关的类 1. java.util.regex.Pattern 该类用于编译模式,模式可以理解为一个正则表达式,比如:a*b. 用法如下: // 创建模式 Pattern p ...

  7. Java中正则表达式的使用(常用的方法)

    这两天回想了一下正则表达式的使用,顺便就总结了一下java的javascript中使用正则表达式的用法,需要看javascript中使用正则的朋友可以看我的另一篇总结,下面我就简单的介绍一下java中 ...

  8. Java中正则表达式、模式匹配与信息抽取

    引言 记得几年前在做网页爬虫后的信息抽取时,针对网页源码中隐藏的要提取的信息,比如评论.用户信息等属性信息,直接利用HtmlParser得到.如此做倒是简单,不过利用的是网页的规范的tag标记.其实j ...

  9. Java中正则表达式的使用

    public class Test{ public static void main(String args[]) { String str="@Shang Hai Hong Qiao Fe ...

随机推荐

  1. 每日一记:搭建Memcached + php 缓存系统

    服务器环境,Centos6.5 1.安装Memcached服务端 Yum -y install memcached 2.配置Memcached服务端用户以及自动启动服务等 将服务配置成自启动 chkc ...

  2. IOS播放音频 AVAudioPlayer(实例)

    1. AVFoundation Build Phases => Link Binary With Libraies => + => AVFoundation.framework =& ...

  3. 扩展ExtJs 4.2.1 htmleditor 添加图片功能

    做项目的时候遇到这样一个问题,因为我是用ExtJs做的后台管理框架,所以当我使用ExtJs htmleditor 控件 的时候,发现没有图片上传的功能,于是我打算在网上找找有关的文章,居然真有人写过, ...

  4. 根据不同ip进入不同页面

    function GetIP() { $cip = ""; if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $cip = $_S ...

  5. idea14使用maven创建web工程

    参考博客:http://geeksun.iteye.com/blog/2179658 http://www.bubuko.com/infodetail-387387.html ------------ ...

  6. [转载]JQuery的Ajax跨域请求的解决方案

    今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发现JQuer ...

  7. PAT-乙级-1016. 部分A+B (15)

    1016. 部分A+B (15) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 正整数A的“DA(为1位整数)部 ...

  8. call && jmp 指令

    对于jmp指令: (1)jmp short 标号相当于(ip)=(ip)+8位位移 跳转范围是[-128,127](2)jmp near ptr 标号相当于(ip)=(ip)+16位位移 跳转范围是[ ...

  9. install Nagios on Unbuntu Unix

    Ubuntu Quickstart Up To: ContentsSee Also: Quickstart Installation Guides, Security Considerations I ...

  10. 1.Getting Started with ASP.NET MVC 5

    Getting Started Start by installing and running Visual Studio Express 2013 for Web or Visual Studio ...