全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

正则表达式教程之匹配单个字符详解

本文实例讲述了正则表达式教程之匹配单个字符。分享给大家供大家参考,具体如下:

注:在所有例子中正则表达式匹配结果包含在源文本中的之间,有的例子会使用Java来实现,如果是java本身正则表达式的用法,会在相应的地方说明。所有java例子都在JDK1.6.0_13下测试通过。

java测试代码:

/**
 * 根据正则表达式和要匹配的源文本,输出匹配结果
 * @param regex 正则表达式
 * @param sourceText 要匹配的源文本
 */
public static void matchAndPrint(String regex, String sourceText){
  Pattern pattern = Pattern.compile(regex);
  Matcher matcher = pattern.matcher(sourceText);
  while(matcher.find()){
    System.out.println(matcher.group());
  }
}

一、匹配纯文本

1、只有一个匹配结果

首先来看一个简单的正则表达式,today,虽然它本身是纯文本,但它是一个正则表达式。来看一个例子:

源文本:Yesterday is history,tomorrow is a mystery, but today is a gift.

正则表达式:today

结果:Yesterday is history,tomorrow is a mystery, but 【today】 is a gift.

分析:这里使用的正则表达式是纯文本,它匹配了源文本中的today。

调用matchAndPrint方法,输出结果是:

today

2、有多个匹配结果

源文本:Yesterday is history,tomorrow is a mystery, but today is a gift.

正则表达式:is

结果:Yesterday is history,tomorrow is a mystery, but 【today】 is a gift.

分析:在源文本中,有三个is,但输出了四个is,因为history中的is也会被匹配到。

调用matchAndPrint方法,输出结果是:

is

is

is

is

3、字母大小写问题

正则表达式是区分字母大小写的,但很多正则表达式的实现中也支持不区分大小写的匹配操作。在JavaScript中,使用i标志来执行一次不区分字母大小写的匹配。在java中,如果要不区分大小写,那么在编译正则表达式时,可以指定:

Patternpattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);

二、匹配任意字符

前面见到的正则表达式都是静态的纯文本,它们根本体现不出正则表达式的威力。下面,来看看如何使用正则表达式来匹配不可预知的字符。

在正则表达式中,特殊字符(或字符集合)用来给出要搜索的东西。.字符(英文状态句号)可以匹配任何一个单个字符。相当于DOS中的?字符和SQL中的_(下划线)字符。如:正则表达式c.t将匹配cat、cut、cot等等。下面来看一个例子。

文本:

orders1.txt

orders2.txt

sales1.txt

salesA.txt

orders3.txt

sales2.txt

sales.txt

正则表达式:sales.

结果:

orders1.txt

orders2.txt

【sales1】.txt

【salesA】.txt

orders3.txt

【sales2】.txt

【sales.】txt

分析:正则表达式sales.将把由字符串sales和另外一个字条构成的文件名找出来,从结果可以看出,.可以匹配字母、数字以及它本身。7个文件中有4个与这个模式匹配。

如果调用matchAndPrint方法,输出结果是:

sales1

salesA

sales2

sales.

三、匹配特殊字符

.字符在正则表达式中有着特殊的含义。如果模式里需要一个.,就要想办法来告诉正则表达式你需要的是.字符本身而不是它在正则表达式中的特殊含义。为此,必须在.前面加上\字符来对它进行转义。\也是一个元字符(metacharacter,表示这个字符有特殊含义,而不是字符含义本身)。来看下面这个例子。

找出na或sa开头的文件,不管它后面跟的是一个什么数字。

文本:

sales.txt

na1.txt

na2.txt

sa1.txt

sanatxt.txt

正则表达式:.a..txt

结果:

【sal】es.txt

【na1】.txt

【na2】.txt

【sa1】.txt

【sanatxt】.txt

分析:这个正则把na1.txt、na2.txt、sa1.txt找出来了,但是还找到了2个意料之外的结果。因为.a..txt这个正则中的.字符将与任意一个字符匹配。要想匹配.字符本身,那么需要使用\转义。把正则修改成.a.\.txt,则能够满足我们的需求。

注意:如果使用java,那么.a.\.txt这个正则表达式应该写成.a.\\.txt,因为\在java语言中也是一个转义字符。

四、总结

正则表达式通常简称为模式,它们其实是一些字符构成的字符串。这些字符可以是普通字符(纯文本)或元字符(有特殊含义的特殊字符)。这里介绍了如何使用普通字符和元字符去匹配单位字符。.可以匹配任何字符。\用来对字符进行转义。在正则表达式中,有特殊含义的字符序列总是以\字符开头。在接下来的文章中,我们将介绍如何匹配一组一组字符。

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools./regex/javascript

正则表达式在线生成工具:
http://tools./regex/create_reg

希望本文所述对大家正则表达式学习有所帮助。


# 正则表达式  # 匹配  # 单个字符  # 正则表达式匹配用户密码  # Javascript校验密码复杂度的正则表达式  # 手机号码  # 密码正则验证  # php password密码验证正则表达式(8位长度限制)  # js正则实现的密码框简单制作  # 还可以替换成自己想用得符号  # 密码强度检测函数(正则)  # 正则表达式教程之位置匹配详解  # 正则表达式教程之重复匹配详解  # 正则表达式教程之匹配一组字符详解  # JS正则匹配中文的方法示例  # 正则匹配密码只能是数字和字母组合字符串功能【php与js实现】  # 的是  # 是一个  # 特殊字符  # 中也  # 结果是  # 如何使用  # 它本身  # 都是  # 而不是  # 来了  # 也会  # 都在  # 多个  # 不出  # 下划线  # 中有  # 会在  # 要想  # 英文 


相关文章: 高端智能建站公司优选:品牌定制与SEO优化一站式服务  定制建站策划方案_专业建站与网站建设方案一站式指南  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  昆明网站制作哪家好,昆明公租房申请网上登录入口?  css网站制作参考文献有哪些,易聊怎么注册?  如何通过山东自助建站平台快速注册域名?  如何选择PHP开源工具快速搭建网站?  如何用低价快速搭建高质量网站?  建站三合一如何选?哪家性价比更高?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  如何选择网络建站服务器?高效建站必看指南  定制建站模板如何实现SEO优化与智能系统配置?18字教程  建站之星IIS配置教程:代码生成技巧与站点搭建指南  如何在云指建站中生成FTP站点?  招贴海报怎么做,什么是海报招贴?  建站之星安装后界面空白如何解决?  如何在建站之星绑定自定义域名?  建站主机功能解析:服务器选择与快速搭建指南  如何快速搭建自助建站会员专属系统?  C#如何使用XPathNavigator高效查询XML  建站之星安装后如何自定义网站颜色与字体?  如何通过cPanel快速搭建网站?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  建站之星安装后如何配置SEO及设计样式?  家具网站制作软件,家具厂怎么跑业务?  网站制作壁纸教程视频,电脑壁纸网站?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  建站之星logo尺寸如何设置最合适?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  ui设计制作网站有哪些,手机UI设计网址吗?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  如何在七牛云存储上搭建网站并设置自定义域名?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  临沂网站制作公司有哪些,临沂第四中学官网?  如何有效防御Web建站篡改攻击?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  如何零基础开发自助建站系统?完整教程解析  建站主机选虚拟主机还是云服务器更好?  建设网站制作价格,怎样建立自己的公司网站?  如何确保西部建站助手FTP传输的安全性?  建站主机是否等同于虚拟主机?  建站主机与虚拟主机有何区别?如何选择最优方案? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。