当前位置: 首页 > news >正文

空间手机版网站目录建设桂林百姓生活网

空间手机版网站目录建设,桂林百姓生活网,网站快速排名优化报价,公司查询官网个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 文章目录 前言正则表达式正则表达式语法正则表达式的特点捕获组实例 前言 如果我们想要判断给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”)&#xff0c…

在这里插入图片描述


个人主页:【😊个人主页】
系列专栏:【❤️初识JAVA】


文章目录

  • 前言
  • 正则表达式
  • 正则表达式语法
  • 正则表达式的特点
  • 捕获组
  • 实例


前言

如果我们想要判断给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”),可以通过正则表达式,从字符串中获取我们想要的特定部分。今天我们要介绍的就是正则表达式


正则表达式

正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索替换那些符合某个模式(规则)的文本。

在这里插入图片描述

正则表达式语法

在其他语言中,\\ 表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义。
在 Java 中,\\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。
所以,在其他的语言中(如 Perl),一个反斜杠 \ 就足以具有转义的作用,而在 Java 中正则表达式中则需要有两个反斜杠才能被解析为其他语言中的转义作用。也可以简单的理解在 Java 的正则表达式中,两个 \ 代表其他语言中的一个 \,这也就是为什么表示一位数字的正则表达式是 \d,而表示一个普通的反斜杠是 \。

System.out.print("\\");    // 输出为 \
System.out.print("\\\\");  // 输出为 \\ 

正则表达式的特点

  1. 灵活性、逻辑性和功能性非常强;
  2. 可以迅速地用极简单的方式达到字符串的复杂控制。
  3. 对于刚接触的人来说,比较晦涩难懂。
    由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。

捕获组

捕获组是把多个字符当一个单独单元进行处理的方法,它通过对括号内的字符分组来创建
例如,正则表达式 (dog) 创建了单一分组,组里包含"d",“o”,和"g"。
捕获组是通过从左至右计算其开括号来编号。例如,在表达式((A)(B(C))),有四个这样的组:
((A)(B©))
(A)
(B©)
©
可以通过调用 matcher 对象的 groupCount 方法来查看表达式有多少个分组。groupCount 方法返回一个 int 值,表示matcher对象当前有多个捕获组。
还有一个特殊的组(group(0)),它总是代表整个表达式。该组不包括在 groupCount 的返回值中。

import java.util.regex.Matcher;
import java.util.regex.Pattern;public class RegexExample {public static void main(String[] args) {String input = "Hello, my name is John. I'm 25 years old.";// 创建一个正则表达式模式Pattern pattern = Pattern.compile("Hello, my name is (\\w+). I'm (\\d+) years old.");// 创建一个Matcher对象Matcher matcher = pattern.matcher(input);// 查找匹配的子序列if (matcher.find()) {System.out.println("Name: " + matcher.group(1)); // 输出捕获组1,即名字System.out.println("Age: " + matcher.group(2)); // 输出捕获组2,即年龄}}
}

在此示例中,正则表达式模式包含两个捕获组。第一个捕获组是名字,它由一个或多个字母、数字或下划线组成。第二个捕获组是年龄,它由一个或多个数字组成。使用Matcher对象的find()方法查找匹配的子序列,并使用group()方法输出相应的捕获组。

实例

项目Value
this is text匹配字符串 “this is text”
this\s+is\s+text注意字符串中的 \s+。匹配单词 “this” 后面的 \s+ 可以匹配多个空格,之后匹配 is 字符串,再之后 \s+ 匹配多个空格然后再跟上 text 字符串。可以匹配这个实例:this is text
^\d+(.\d+)?^ 定义了以什么开始\d+ 匹配一个或多个数字? 设置括号内的选项是可选的. 匹配 "."可以匹配的实例:“5”, “1.5” 和 “2.21”。

Java 正则表达式和 Perl 的是最为相似的。
java.util.regex 包主要包括以下三个类:
Pattern 类:
pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。
Matcher 类:
Matcher 对象是对输入字符串进行解释和匹配操作的引擎。与Pattern 类一样,Matcher 也没有公共构造方法。你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。
PatternSyntaxException:
PatternSyntaxException 是一个非强制异常类,它表示一个正则表达式模式中的语法错误。

http://www.yayakq.cn/news/875602/

相关文章:

  • 产品分类 网站模板天津手机版建站系统价格
  • 成都网站建设技术支持wordpress 多站点教程
  • 合山市网站wordpress有必要加论坛吗
  • cnc强力磁盘 东莞网站建设中国建设银行网站查工资
  • 柳州做网站的企业网络推广方案100例
  • 建立网站该怎样做杭州市建设工程检测协会网站
  • 目前旅游网站开发江苏个人备案网站内容
  • 鞍山信息港招聘关键词优化费用
  • 提供网站建设公司有哪些网站优化要用什么软件
  • 广州百度提升优化超云seo优化
  • 有哪些做特卖的网站有哪些电商网站设计公司立找亿企邦
  • 装修网站运营国内十大效果图公司
  • 怎么做教育培训网站成都市建设厅网站
  • 网站换域名影响中外网站建设区别
  • 青岛科技街网站建设蒙阴做网站
  • 建站之星模块网站关键词选取的步骤和方法
  • 建设厅网站实名制系统如何解聘网站环境搭建好后怎么做网站
  • 网站上传好了如何做定向wordpress打开缓慢
  • 摄像头怎么做直播网站wix做网站的建议
  • 物流公司做网站注重什么如何做优品快报下的子网站
  • 做淘宝这种网站seo优化与sem推广有什么关系
  • 台州seo网站管理企业自己建网站怎么建
  • 单页网站多钱哈尔滨市建设工程信息网官方网站
  • 做插画的网站阿里巴巴上做网站
  • 广州官方发布网站优化多少钱
  • 网站建设 9a建设项目查询
  • 建设工程交易网站wordpress 主题库
  • 网站收录排名机械加工网销平台
  • 网站运营意义网站备案是每年一次吗
  • 鹿泉外贸网站建设app源码WordPress淘客