`
kanpiaoxue
  • 浏览: 1782205 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

tmp

 
阅读更多

最好养成按照字符来理解正则表达式的习惯

不要这样:

^cat   匹配以cat开头的行

而应该这样理解:

^cat 匹配以c作为一行的第一个字符,紧接着一个a,紧接着一个t的文本

 

 

在字符组[]内部,连字符 - 才是元字符,才表示一个范围。如:[0-9], [a-z],在字符组[]外面的连字符 - 只能匹配连字符,而不是范围。在字符组[]内部,如果连字符-在开头,就是普通的连字符。如:[-1] , 03[-./]19[-./]76   这里的连字符 - 紧接着[ 或者 [^ 出现,形成 [- 或者 [^-  。如果采用 [.-/] 就是错误的用法。

字符组[]的多重范围也是允许的: [0-9a-zA-Z]

在字符组[]里面,问号?,点号 . 都不是元字符。在字符组[]里面和外面,元字符的定义和意义是不一样的。

03[-./]19[-./]76 匹配:03-19-76, 03.19.76, 03/19/76

 

^在字符组[]内部就是一个元字符,在字符组[]外面,就是一个锚点

q[^u] 排除行字符组[]表示“匹配一个未列出的字符”,而不是“不要匹配列出的字符”。一种简单的理解就是除了“排除型字符组中所有字符”以外的字符

 

用点号匹配任意字符

 

一个很重要的问题,写正则表达式时,需要在对欲检索的文本的了解程度与检索精确性之间求得平衡。

 

我们来匹配 gr[ea]y,还可以写作 grey|gray ,或是 gr(e|a)y

注意 gr[e|a]y 不是我们想要的,因为元字符字符组[]里面和外面的定义和意义都不一样。

 

或 | 字符构成“多选结构”

 

一个字符组[]只能匹配单个字符,而多选结构自身可能是完整的正则表达式,可以匹配任意长度的文本。

 

量词:?, +, *

? 零次或一次 (可以不出现,也可以只出现一次:单次选择)

+ 一次或多次(可以出现无数次,但至少要出现一次:至少一次)

* 任意次(零次,大于零次)(可以出现无数次,也可以不出现:任意次数均可)

区间:{min,max} 

 

 

括号()的分组顺序是按照开括号 '(' 从左至右的出现顺序进行的。

(.+) \1 matches 'the the' or '55 55'

 

变量名: 标识符只包含字母、数字以及下划线,但不能以数字开头。[a-zA-Z_][a-zA-Z0-9]*

 

引号内的字符串:"[^"]*"

 

() 分组,捕获。

(?:)分区,不捕获。

 

 

股票价格9.05000000037272 ,这里显然应该是 9.05 ,但是因为计算机内部表示浮点的原理,有时会以没什么用的格式输出这样的结果 9.5000000037272 。

要求归结为:通常是保留小数点后面两位数字,如果第三位不为零,也需要保留,去掉其他的数字。结果就是 12.375000000392或者12.375会被修正为 12.375,而 37.500会被修正为 37.50

正则表达式:  (\.\d\d[1-9]?)\d*

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String str = "9.50000000037272";
		String str1 = "11.07100000037272";
		System.out.println(testFormatDecimal(str));		// output : 9.50
		System.out.println(testFormatDecimal(str1));		// output : 11.071
	}

	private static String testFormatDecimal(String numberString) {
		String regex = "(\\.\\d\\d[1-9]?)\\d*";
		Pattern pattern = Pattern.compile(regex);
		Matcher matcher = pattern.matcher(numberString);
		if (matcher.find()) {
			return matcher.replaceAll(matcher.group(1));
		}
		return null;
	}

}

 

 

 

 正则表达式之分组语法

捕获

(exp)匹配exp,并捕获文本到自动命名的组里

(?<name>exp)匹配exp,并捕获文本到名称为name的组里

(?:exp)匹配exp,不捕获匹配的文本

位置指定

(?=exp)匹配exp前面的位置

(?<=exp)匹配exp后面的位置

(?!exp)匹配后面跟的不是exp的位置

(?<!exp)匹配前面不是exp的位置

注释

(?#comment)这种类型的组不对正则表达式的处理产生任何影响,只是为了提供让人阅读注释

 

 

 

分享到:
评论

相关推荐

    tmp102_tmp102温度读取程序_tmp102_

    《tmp102温度读取程序的深度解析与实践》 在嵌入式系统和物联网(IoT)领域,温度传感器的应用广泛而重要。其中,tmp102是一款常见的数字温度传感器,它提供了精确且方便的温度测量解决方案。本文将深入探讨tmp102的...

    tmp112_STC_main.14460_TMP112传感器_tmp112程序_TMP112A代

    【标题】"tmp112_STC_main.14460_TMP112传感器_tmp112程序_TMP112A代" 提供的信息主要围绕一个特定的温度传感器——TMP112,以及它是如何与STC系列单片机进行交互的。STC Main.14460可能是指STC单片机的一种特定型号...

    IIC_TMP102.zip_tmp102_tmp102 程序_tmp102读取温度

    TMP102是一款低功耗、数字输出的温度传感器,常用于嵌入式系统和物联网设备中,以提供精确的温度测量。在这个项目中,我们关注的是如何使用CC430单片机通过IIC(Inter-Integrated Circuit)通信协议与TMP102进行交互...

    tmp112_温度传感器_tmp112_

    温度传感器TMP112是TI(德州仪器)公司推出的一款高精度、低功耗的数字温度传感器。这个设备被广泛应用于各种需要精确监测环境或系统温度的场合,如电子设备、智能家居、工业自动化以及医疗设备等领域。TMP112驱动...

    IIC.zip_IIC_STM TMP102_STM32+tmp102_iic stm32_tmp102

    【STM32与TMP102温度传感器IIC通信详解】 在嵌入式系统中,实时监测环境温度是一项常见的需求,而STM32微控制器因其强大的处理能力和丰富的接口,常被用于这类应用。在这个项目中,我们将深入探讨如何使用STM32通过...

    TMP102功能测试_STM32F103_tmp102

    STM32F103与TMP102传感器的整合是嵌入式系统中的常见应用场景,主要用于环境温度监测。在本项目中,开发者通过一系列的程序来全面测试TMP102的各种工作模式和功能,以确保其在实际应用中的稳定性和准确性。下面将...

    tmp117.zip

    TMP117是一款高精度数字温度传感器,由德州仪器(Texas Instruments,简称TI)制造,设计用于需要精确测量温度的应用。这款传感器具有低功耗、高分辨率和宽工作电压范围的特点,适合在各种电子设备中集成,如工业...

    TMP117_51.zip

    【标题】"TMP117_51.zip" 指的是一个包含了TMP117温度传感器驱动程序的压缩包,特别针对51系列微控制器进行了优化和适配。51系列是飞利浦(现恩智浦)推出的一套经典8位微控制器架构,广泛应用于各种嵌入式系统中,...

    TMP100温度传感器详细说明

    TMP100温度传感器详细说明 TMP100温度传感器是德州仪器(TI)公司的一款数字温度传感器,具有超低功耗、可编程分辨率、高速接口等特点。下面是TMP100温度传感器的详细说明: 一、工作电压范围:TMP100温度传感器的...

    TMP112中文数据手册

    TMP112是一款高精度、低功耗的数字温度传感器,由德州仪器(Texas Instruments,简称TI)生产。它支持系统管理总线(SMBus)™接口和两线制串行接口。TMP112具备微型小外形尺寸晶体管(SOT)封装,具体型号为563封装...

    TMP112模拟IIC C程序

    【标题】"TMP112模拟IIC C程序"涉及的知识点主要集中在微控制器编程、温度传感器应用以及I²C(Inter-Integrated Circuit)通信协议上。TMP112是一款低功耗、高精度的数字温度传感器,由德州仪器(Texas Instruments...

    TMP275温度芯片驱动代码

    【标题】"TMP275温度芯片驱动代码"涉及到的核心知识点是嵌入式系统中的硬件接口编程,特别是针对温度传感器的驱动开发。TMP275是一款由德州仪器(TI)制造的数字温度传感器,它能够提供高精度的温度测量数据,并通过...

    tmp175中文资料

    ### TMP175/TMP75 数字温度传感器详尽解析 #### 一、产品概述 TMP175和TMP75是TI公司推出的高精度、低功耗、支持二线制串行通信接口的数字温度传感器。它们适用于多种通信、计算机、消费电子以及工业控制系统中的...

    tmp75 ——stm8连续读取温度

    【标题】:“tmp75 ——stm8连续读取温度” 涉及的主要知识点是温度传感器TMP75与STM8微控制器之间的通信,特别是通过I2C(Inter-Integrated Circuit)总线进行的连续数据读取。在这个项目中,STM8作为主设备,负责...

    Unity TMP 常用字符文件

    Unity TMP(Text Mesh Pro)是Unity引擎中一个强大的文本渲染系统,它提供了比原生Unity Text组件更高质量、更灵活的文本渲染效果。TMP支持自定义字体、丰富的文本格式和性能优化,尤其适用于游戏和应用中的长篇文本...

    使用模拟I2C读取TMP75温度源码

    例如,`tmp75_init()`函数用于初始化传感器,`tmp75_set_resolution(resolution)`用于设置分辨率,`tmp75_read_temperature()`用于读取当前温度值。 模拟I2C读取TMP75温度的步骤如下: 1. 初始化模拟I2C和TMP75...

    TMP75 基于STM32的温度读取.rar

    【TMP75与STM32】 TMP75是一款低功耗、高精度的数字温度传感器,由德州仪器(TI)公司生产。它能够提供线性化的温度输出,并且通过I²C接口与微控制器进行通信。STM32是意法半导体(STMicroelectronics)推出的基于...

    stm32的TMP100NA温度传感器的驱动代码

    在本案例中,我们关注的是如何通过STM32驱动TMP100NA温度传感器。TMP100NA是德州仪器(TI)生产的一款低功耗数字温度传感器,它提供I²C(Inter-Integrated Circuit)接口,使得与微控制器的通信变得简单而高效。 ...

    windowx11跳过tmp及安全启动.zip

    在Windows 11的升级过程中,用户可能会遇到两个主要障碍:一是系统找不到“tmp”临时文件夹,二是安全启动(Secure Boot)的要求。这两个问题都可能导致安装或更新Windows 11时失败。针对这些问题,我们可以从以下几...

    TMP89FM42UG规格书

    ### TMP89FM42UG 规格书关键知识点解析 #### 一、微控制器概述:8Bit Microcontroller TLCS-870/C1 Series TMP89FM42 TMP89FM42是东芝公司(TOSHIBA CORPORATION)于2009年发布的一款8位微控制器,属于TLCS-870/C1...

Global site tag (gtag.js) - Google Analytics