9.JAVA中的正则表达式
一、JAVA中的正则表达式
- 1.概念:以某种特定的方式描述字符串
- 1.Java中正则表达式的规则
- ? #{0,1}-?有一个-或者没有
- \\ #表示一个”\"
- \\d #表示一个数字
- \\D #非数字
- f\\W+ #表示f开头的单词
- \\W #表示一个非单词字符
- \\w #表示一个单词字符[0-9A-Za-z-]包含’-’
- \\s #空白符号
- \\S #非空白符号
- (-|\\+)?\\d+ #表示一个数字(正数负数都可以)
- {m,n}数量
- * #{0,}
- + #{1,}
- . #任意的字符 除了“\n”
- 正则表达式中的一个\————\\
- 一个+---\\+
- 一个.————\\.
- System.out.println("193.12.1.0".matches("(\\d{1,3}\\.){3}\\d{1,3}"));——true
- 2.String提供的正则表达式运算
- 运算一:split(String arg);—return String[];
- split(” “,int max);//限制分离的次数最多时max次
- 按照arg进行split,给定的字符会被删除
- 运算二: 替换单词(一个||多)
- replaceFirst(“f\\w+”,“location”);//替换第一个出现的f开头的单词
- replaceAll(“f\\w+”|”g\\w+”|”z\\w+”,”location");//替换全部的单词—String.replace(String)一样,后者不支持正则表达式
- eg:
- String string=new String(“Hello String ass");
- string.replaceFirst(“H\\w+|S\\w+”,”abc”);//abc String ass
- string.replaceAll(“H\\w+|S\\w+”,”abc”);//abc abc ass
- 运算三:matches()
- String str=new String();
- if(str.matches(“Y\\w+”)) //
- 3.创建正则表达式
- 字符类
System.out.println("r".matches("[^ABC]"));//判断单词是否不含A、且包含BC
System.out.println("d".matches("[a-zA-Z]"));//判断是不是字母
System.out.println("a".matches("[ABC[abc]]"));//跟[ABCabc]是一样的吧
System.out.println("h".matches("[a-z&&[hij]]"));//首先是小写字母,其次必须是[hij]中的字母
- 量词
- . 除了\n之外的任意字符 -----不是量词
- * 表示0-无穷 .*表示0-n个字符
- + 表示1-无穷 .+表示1-n个字符
- 备注:JAVA正则表达式中需要转义的符号
- 1.”+”——>”\\+”;
- 2.”.”—— >”\\.”;
- 3.”\\”——>”\\”;
9.JAVA中的正则表达式的更多相关文章
- JAVA中的正则表达式--待续
1.关于“\”,在JAVA中的正则表达式中的不同: 在其他语言中"\\"表示为:我想要在正则表达式中插入一个普通的反斜杠: 在Java中“\\”表示为:我想要插入一个正则表达式反斜 ...
- java中使用正则表达式匹配字符串
在Java中使用正则表达式去匹配相应的字符串: String importFileRole = "(import)\\s*[a-zA-Z0-9_<>.]+\\;";// ...
- (转)Java中使用正则表达式的一个简单例子及常用正则分享
转自:http://www.jb51.net/article/67724.htm 这篇文章主要介绍了Java中使用正则表达式的一个简单例子及常用正则分享,本文用一个验证Email的例子讲解JAVA中如 ...
- 【java 正则表达式】记录所有在java中使用正则表达式的情况
本篇记录在java中邂逅正则表达式的所有美丽瞬间.因为在java和js中正则表达式的语法并不一致. 1.匹配字符串中有出现[2.1开头或者&2.1或者&3.1等的] Pattern m ...
- 译:Java 中的正则表达式性能概述
原文链接:https://www.baeldung.com/java-regex-performance 作者: baeldung 译者:Darren Luo 1. 概述 在本快速教程中,我们将展示模 ...
- java 中使用正则表达式操作字符串
import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFl ...
- java中的正则表达式捕获组与引用的概念
今天群里有个人问,怎样用增则表达式匹配三角形的三边,其实只是要匹配三个数字而已,如 301 402 503 开始认为很简单,我就写了一个 "(([1-9]\\d?)\\s){2}$2&q ...
- js和java中使用正则表达式校验邮箱
问题:经常在项目中要校验邮箱? 邮箱格式:首位必须为字母,必须包含一个@符号,并且@之后有个名字,之后还有个.,再有一个后缀名 例如:wyp55023@163.com 一.java中代码如下: Str ...
- java中的正则表达式And Pattern And Macher
在哪里?? java.util.regex包下有两个用于正则表达式的类, 一个是Matcher类, 另一个Pattern 简单例子 public class RegexLeaning { public ...
随机推荐
- Object Removal by Exemplar-Based Inpainting 概括(附源码)
关于这篇论文:其是采用基于样例的图像修复,通俗地讲就是图像其他部分的采样信息去填补遮挡区域,其与使用扩散方法的图像修补方法相比,不会产生模糊效应. 论文中涉及到的几个参数 Ω:要修补的区域 δ ...
- 教你一招:Win10切换输入法与Win7一样(Ctrl + 空格)
对于win10的朋友,大部分人对输入法都不习惯,如果你把英语输入法删除了,在中文输入法里没有美式键盘,让ctrl+空格与ctrl+Shift都能在搜狗输入法和美式键盘切换.下面小编就教你怎么让Win1 ...
- 在eclipse中部署jsp项目
昨天在做实验的时候发现图片的路径不对,怎么改都不对,后来想到在浏览器中输入localhost:8080是tomcat服务器的路径,没找到资源是不是就是项没有部署到tomcat中,去tomcat的web ...
- Ruby升级的最新方法
今天安装cocoapods时候出现了下面的提示Error installing pods:active support requires Ruby version >= 2.2.0这个需求的意思 ...
- Python 从零学起(纯基础) 笔记 之 迭代器、生成器和修饰器
Python的迭代器. 生成器和修饰器 1. 迭代器是访问集合元素的一种方式,从第一个到最后,只许前进不许后退. 优点:不要求事先准备好整个迭代过程中的所有元素,仅仅在迭代到某个元素时才计算该元素,而 ...
- Map工具系列-03-代码生成BySQl工具使用说明
所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...
- a版本冲刺第七天
队名:Aruba 队员: 黄辉昌 李陈辉 林炳锋 鄢继仁 张秀锋 章 鼎 学号 昨天完成的任务 今天做的任务 明天要做的任务 困难点 体会 408 学习活动的消息传递和日志分析 因为大家都在赶进 ...
- 为自己的爬虫更换代理和HTML头部
import requestsimport reimport randomimport time class download(): def __init__(self): self.iplist = ...
- Nginx简易配置文件(二)(反向代理)
user nobody nobody; worker_processes 4; error_log logs/error.log; pid logs/nginx.pid; events { use e ...
- request 获取服务根目录地址
这是常用的request获取服务地址的常用方式. 源请求服务地址:http://localhost/api-server/1/forum/thread/hot_topic?sex=1 String p ...