加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 06:38:34 所属栏目:百科 来源:网络整理
导读:笔者在在写javaWeb的前端部分时,要求写一个输入框输入一个0到一百的小数,于是去网上找正则表达式的例子,可是找来找去都不正确,劳心费力,一怒之下决定自己去写一个。以下为个人的一些笔记。 先放结果:自己写的正则表达式和测试结果 /^(100|(([1-9]){1}[

笔者在在写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{1}”限定的就是0到99的整数
  • 和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

感谢阅读。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读