当前位置: 首页 > news >正文

多语言环境下的正则表达式实战:校验整数、小数

在软件开发中,正则表达式是验证用户输入数据格式的强大工具,特别是在处理表单验证时。本文将通过JavaScript、Java、Python、C、Rust、Go、C++六种编程语言展示如何使用正则表达式来校验输入是否为整数或小数,特别强调小数点后最多保留两位的场景。让我们一起探索如何在不同语言中实现这一功能。

JavaScript 示例

const regex = /^[0-9]+(\.[0-9]{1,2})?$/;
const isValid = regex.test(inputString);
console.log(isValid); // 输出 true 或 false

Java 示例

import java.util.regex.Pattern;
import java.util.regex.Matcher;public class Main {public static void main(String[] args) {Pattern pattern = Pattern.compile("^[0-9]+(\\.[0-9]{1,2})?");Matcher matcher = pattern.matcher(inputString);System.out.println(matcher.matches()); // 输出 true 或 false}
}

Python 示例

import repattern = r'^[0-9]+(\.[0-9]{1,2})?$'
is_valid = bool(re.match(pattern, input_string))
print(is_valid) # 输出 True 或 False

C 示例

#include <stdio.h>
#include <regex.h>int main() {regex_t preg;int reti;char input[] = "your_input";char pattern[] = "^[0-9]+(\\.[0-9]{1,2})?$";reti = regcomp(&preg, pattern, REG_EXTENDED);if (reti)fprintf(stderr, "Could not compile regex\n");else if (!regexec(&preg, input, 0, NULL, 0, 0))printf("Matched\n");elseprintf("Not matched\n");regfree(&preg);return 0;
}

Rust 示例

fn main() {let re = regex::Regex::new(r"^[\d]+(\.\d{1,2})?$").unwrap();let is_match = re.is_match("your_input");println!("{}", is_match); // 输出 true 或 false
}

Go 示例

package mainimport ("fmt""regexp"
)func main() {pattern := `^[0-9]+(\.[0-9]{1,2})?`matched, _ := regexp.MatchString(pattern, "your_input")fmt.Println(matched) // 输出 true 或 false
}

C++ 示例

#include <regex>
#include <iostream>int main() {std::regex pattern(R"(^[0-9]+(\.[0-9]{1,2})?)$)");std::string input = "your_input";bool match = std::regex_match(input, pattern);std::cout << (match ? "Matched" : "Not matched") << std::endl;return 0;
}

以上示例展示了在不同编程语言中,通过正则表达式^[0-9]+(\.[0-9]{1,2})?$来校验一个字符串是否符合整数或最多保留两位小数的正数格式。此正则表达式从开始(^)匹配一个或多个数字([0-9]+),随后是可选的((...))小数点(\.)后跟一或两个数字(\d{1,2}),最后是结束符($)。每个示例中,将"your_input"替换为实际需要校验的字符串。

http://www.lryc.cn/news/347854.html

相关文章:

  • 过拟合和欠拟合的学习
  • 中间件的使用
  • 阿里云OSS权限开通步骤及最佳实践
  • 【Python贪吃蛇】:编码技巧与游戏设计的完美结合
  • 2024.5.19 机器学习周报
  • 母亲节祝福html源码示例
  • 微信小程序开发中的权限管理与用户身份验证:守护数据安全与用户体验
  • Python3 笔记:二进制的转换
  • 代码审计-PHP模型开发篇动态调试反序列化变量覆盖TP框架原生POP链
  • 前端动态旋转地球背景
  • MySQL中的子查询
  • Unity打开安卓设备不同的设置面板
  • 低空经济+无人机:低空物资运输技术详解
  • 全场景智能终端RK3288主板在智能垃圾回收项目的应用,支持鸿蒙,支持全国产化
  • QT设计模式:建造者模式
  • 个人微信api
  • 使用Ownips工具获取海外电商网站wish商品价格
  • 【FFmpeg】调用ffmpeg进行H264软解
  • 网络安全防护:抵御DDoS和CC攻击
  • 初次查询大数据信用报告,需要注意哪些问题?
  • 最短路径[floyd算法]-----视频讲解+代码实现
  • 图像/视频恢复和增强CodeFormer
  • WPF中ObservableCollection
  • 如何用鼠标点击在picturebox的图像上做标记
  • k8s介绍
  • K-means聚类模型:深入解析与应用指南
  • CTF-密码学基础
  • 代码随想录算法训练营day22 | 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
  • 企业信息防泄漏软件分析:盘点常用企业信息防泄漏软件
  • Rancher-Kubewarden-保姆级教学-含Demo测试