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

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

软件开发中,正则表达式是验证用户输入数据格式的强大工具,特别是在处理表单验证时。本文将通过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 re

pattern = 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");
    else
        printf("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 main

import (
  "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"替换为实际需要校验的字符串。

相关文章
|
7月前
|
移动开发 JavaScript 前端开发
JavaScript的正则表达式实现邮箱校验
JavaScript的正则表达式实现邮箱校验
|
7月前
|
Python Windows
【Python进阶必备】一文掌握re库:实战正则表达式
【Python进阶必备】一文掌握re库:实战正则表达式
171 0
|
7月前
|
数据采集 Java 数据格式
【Java】正则表达式,校验数据格式的合法性。
【Java】正则表达式,校验数据格式的合法性。
144 0
|
Java
Java正则表达式校验实例
Java正则表达式校验实例
87 0
|
JavaScript 数据格式
JS中操作表单元素与正则表达式校验表单
JS中操作表单元素与正则表达式校验表单
78 0
|
6月前
|
前端开发 数据安全/隐私保护
vue3表单参数校验+正则表达式
vue3表单参数校验+正则表达式
|
7月前
各证件号码(身份证、护照、军官证、驾驶证、港澳台湾通行证、户口簿)正则表达式校验 完整正确
各证件号码(身份证、护照、军官证、驾驶证、港澳台湾通行证、户口簿)正则表达式校验 完整正确
788 0
邮箱-手机账号格式如何进行正则表达式校验
邮箱-手机账号格式如何进行正则表达式校验
516 0
|
7月前
|
C++
leetcode-8:字符串转换整数(有限自动机(DFA)和正则表达式)
leetcode-8:字符串转换整数(有限自动机(DFA)和正则表达式)
80 1
|
7月前
|
Python Windows
【Python进阶必备】一文掌握re库:实战正则表达式
【Python进阶必备】一文掌握re库:实战正则表达式
337 0