正则笔记:括号后面的问号

正则笔记:括号后面的问号

问题

群里有小伙伴发了一道正则的题目。

解决

解法如下:

^([1-9][0-9]*)+(\.[0-9]{1,2})$

追问

问题来了,$ 前面要不要加问号呢?
改为如下:

^([1-9][0-9]*)+(\.[0-9]{1,2})?$

可以看出这个正则兼容了整数。

从最终用户的角度来讲,加了 问号(?)更加友好。

解决过程的花絮

  1. 开始用了 ^([1-9]|[0-9]{0,})(.[0-9]{1,2})?$ 点(.)没有转义,变成了 Any Char,测试 0w1 也通过了,正则失败。

  2. 改为 ^([1-9]|[0-9]{0,})(\.[0-9]{1,2})?$,看起来是没问题,但是测试 00.11 时通过了,这个正则不对。

  3. 最终改为 ^([1-9][0-9]*)+(\.[0-9]{1,2})$,再友好点就加上问号 ^([1-9][0-9]*)+(\.[0-9]{1,2})?$

原文地址: https://www.cnblogs.com/F4NNIU/p/11062218.html

posted on   建伟F4nniu  阅读(770)  评论(0编辑  收藏  举报

编辑推荐:
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
阅读排行:
· 手把手教你更优雅的享受 DeepSeek
· 腾讯元宝接入 DeepSeek R1 模型,支持深度思考 + 联网搜索,好用不卡机!
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
历史上的今天:
2018-06-21 Markdown 中的目录自动生成功能 TOC (2019-06-27 博客园已经支持 TOC)

导航

点击右上角即可分享
微信分享提示