从0-100之间的小数初识正则表达式

本文介绍了作者在编写Java Web前端时,为输入0到100小数的输入框编写正则表达式的过程。详细解析了正则表达式`/^(100|(([1-9]){1}[0-9]?|0{1})((.)([0-9]){1,2})?)$/`的组成部分,包括`^`、`$`、括号、`|`、`[1-9]{1}`、`?`、`.`等符号的含义,并提供了在JSP中的使用示例。文章还提到了学习正则表达式的资源和在线测试工具。" 88638780,1198306,SpringBoot集成Atomikos实现分布式事务管理,"['Java', 'SpringBoot', '数据库', '事务管理', '分布式系统']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 笔者在在写javaWeb的前端部分时,要求写一个输入框输入一个0到一百的小数,于是去网上找正则表达式的例子,可是找来找去都不正确,劳心费力,一怒之下决定自己去写一个。以下为个人的一些笔记。

 先放结果:自己写的正则表达式和测试结果

  /^(100|(([1-9]){1}[0-9]?|0{1})((\.)([0-9]){1,2})?)$/

现在逐步解释这个正则表达式:

首先我们在代码中使用时需要用两个“/”包围起来,个人理解类似于字符串的双引号。在表达式中,表达式元素一般采用【匹配字符+限定条件】的方式连在一起组成正则表达式,少数几个采用【限定条件+匹配字符】的方式。

 

  • “^”表示以右边的字符开头,同理"$"表示以左边的字符为结尾。
  • 表达式中的括号和四则运算的括号一致,表示优先级,“|”为“或”符号。
  • [1-9]表示1到9的整数,{n}(正整数)表示匹配n个前面的字符,{n,m}(均为正整数)表示最少匹配n个最多匹配m个字符,那么[1-9]{1}的意思就是被匹配的字符是一个1-9之间的整数。
  • “?”表示可以有一个有或者没有前面的字符,“([1-9]){1}[0-9]?”限定的就是0到99的整数,"|0{1}"加在后面表示或者是一个“0”.
  • 和java一样,在正则表达式中,特殊字符需要在前面加转义符号,即用“/.”来表示小数点。结合前面的解释,“([0-9]){1,2})”表示小数点后面的一位或两位小数,“((\.)([0-9]){1,2})?”则表示有无这些小数部分均可。
  • 在最后面加一个“$”表示以前面的字符结尾。如果不加,那么形如String s = "11.22werdsaef"的字符串可以匹配前面的小数也可以通过。

 

 在Jsp中的用法为:

 

	//boolean test(value)方法进行匹配,如果value能够匹配成功则返回true
        var newPar=/^(100|(([1-9]){1}[0-9]?|0{1})((\.)([0-9]){1,2})?)$/;
        if(newPar.test(myString)){
    	//TODO...
        }

 

以上仅为个人在解决这个0到100小数的过程中所用的正则表达式记录,写得很初级,没有使用“/d”或者“*”等复杂符号。

学习参考网站:   正则表达式教程

截图所用测试网站:     Regexper

感谢阅读。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值