正则表达式 demo初解

2023-10-19 00:18
文章标签 正则表达式 demo 初解

本文主要是介绍正则表达式 demo初解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://www.cnblogs.com/dragon/archive/2006/05/08/394078.html


public class Test01 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        // $表示尾端是xls
        String a = "201008.xls";
        String reg = "^2[0-9]{5}+\\.xls$";
        System.out.println(a.matches(reg));

        String reg1 = "About [cats] and dogs";
        String b = "About cats and dogs";
        System.out.println(b.matches(reg1));

        String reg2 = "[0-9]{3}-?";
        String b2 = "125";
        String b22 = "125-";
        System.out.println(b2.matches(reg2));
        System.out.println(b22.matches(reg2));

        String reg3 = "a[cats]c";
        String b3 = "acc";
        System.out.println(b3.matches(reg3));

        String reg4 = "t.n";
        String b4 = "tan";
        System.out.println(b4.matches(reg4));

        String reg5 = "tn";
        String b5 = "tnfafaf";
        System.out.println(b5.matches(reg5));

        String reg6 = "a(c|a|t|s)c";
        String b6 = "acc";
        System.out.println(b6.matches(reg6));

        String reg7 = "[^x]";
        String b7 = "a";
        System.out.println("b7=" + b7.matches(reg7));

        String reg8 = "[a-z]+";
        // String b8 = "3a";//false
        String b8 = "ab";
        System.out.println(b8.matches(reg8));

        String reg9 = "[a-z]+ s + [0-9]{1,2}";
        String b9 = "June 26";
        System.out.println(b8.matches(reg9));

        String string = "ayb";
        // ^表示第二个字母不是a或b
        String regString = "a[^ab]b";
        System.out.println(string.matches(regString));

        // *:匹配前一个字符0次或多次。+:匹配前一个字符1次或多次
        // String b10 = "aaa"; //true
        // String b10 = "";//true
        String reg10 = "13a*";
        String b10 = "13aaa";// false
        System.out.println("b10=" + b10.matches(reg10));

//        String reg11 = "ba*?";
        String reg11 = "ba+?";
        String b11 = "baaa";
        System.out.println("b11=" + b11.matches(reg11));
        
        //|表示或
        String reg12 = "beijing|shanghai";
        String b12 = "beijing";
//        String b12 = "shanghai";//rue
        System.out.println("b12=" + b12.matches(reg12));
        
        //{n,m}:匹配前一个字符的至少n次最多m次的出现
        String reg13 = "ab{2,5}c";
        String b13 = "abbc";
        System.out.println("b13=" + b13.matches(reg13));
        
        // \d表示0-9 等同于[0-9];\D不在0-9范围内
        String reg14 = "\\d";
        String b14 = "2";
        System.out.println("b14=" + b14.matches(reg14));
        
    }
}

js demo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
    function val(){
        var reg = "3[^ab]c";
        var str = "3gc808";
        var res = str.match(reg);
        if(res!=null){
            alert(str.match(reg)+"   true");
            return true;
        }else return false;
    }
    <!--验证用户名是2-4位汉子-->
    function checkForm(obj){
     var username=obj.username.value;
     var regx="^[\u4e00-\u9fa5]{2,4}$g"
     if(!regx.test(username)){
               alert("Invalid username!");
               return false;
     }
     return true;
}
</script>
</head>

<body >
<form id="form" οnsubmit="return checkForm(this)">
<input type="text" name="username" />
<input type="submit" value="submit" />
</form>
</body>
</html>


这篇关于正则表达式 demo初解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/236034

相关文章

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

JavaScript正则表达式六大利器:`test`、`exec`、`match`、`matchAll`、`search`与`replace`详解及对比

在JavaScript中,正则表达式(Regular Expression)是一种用于文本搜索、替换、匹配和验证的强大工具。本文将深入解析与正则表达式相关的几个主要执行方法:test、exec、match、matchAll、search和replace,并对它们进行对比,帮助开发者更好地理解这些方法的使用场景和差异。 正则表达式基础 在深入解析方法之前,先简要回顾一下正则表达式的基础知识。正则

linux 内核提权总结(demo+exp分析) -- 任意读写(四)

hijack_modprobe_path篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm     原理同hijack_prctl, 当用户执行错误格式的elf文件时内核调用call_usermod

linux 内核提权总结(demo+exp分析) -- 任意读写(三)

hijack_prctl篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   prctl函数: 用户态函数,可用于定制进程参数,非常适合和内核进行交互 用户态执行prctl函数后触发prctl系统

linux 内核提权总结(demo+exp分析) -- 任意读写(二)

hijack_vdso篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm     vdso: 内核实现的一个动态库,存在于内核,然后映射到用户态空间,可由用户态直接调用 内核中的vdso如果被修改

linux 内核提权总结(demo+exp分析) -- 任意读写(一)

cred篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   每个线程在内核中都对应一个线程结构块thread_infothread_info中存在task_struct类型结构体 struct t

linux 内核提权总结(demo+exp分析) -- ROP(二)

ret2usr CR4篇 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   smep: smep是内核的一种保护措施, 使得内核不可执行用户态代码 内核通过CR4寄存器的第20位来控制smep,

linux 内核提权总结(demo+exp分析) -- ROP(一)

基础ROP篇(linux 5.0.21) 本文转自网络文章,内容均为非盈利,版权归原作者所有。 转载此文章仅为个人收藏,分享知识,如有侵权,马上删除。 原文作者:jmpcall 专栏地址:https://zhuanlan.kanxue.com/user-815036.htm   内核提权与用户态攻击的区别 攻击流程 用户态攻击: 执行 system("/bin/sh") 获得shel

匹配电子邮件地址的正则表达式

这个正则表达式 QRegularExpression regex(R"((\w+)(\.|_)?(\w+)@(\w+)(\.(\w+))+))"); 用于匹配电子邮件地址的格式。下面是对这个正则表达式的逐步解析和解释: 1. QRegularExpression 构造函数 QRegularExpression regex(R"((\w+)(\.|_)?(\w*)@(\w+)(\.(\w+))+

实例demo理解面向接口思想

浅显的理解面向接口编程 Android开发的语言是java,至少目前是,所以理解面向接口的思想是有必要的。下面通过一个简单的例子来理解。具体的概括我也不知道怎么说。 例子: 现在我们要开发一个应用,模拟移动存储设备的读写,即计算机与U盘、MP3、移动硬盘等设备进行数据交换。已知要实现U盘、MP3播放器、移动硬盘三种移动存储设备,要求计算机能同这三种设备进行数据交换,并且以后可能会有新的第三方的