正则表达式的简单应用

记忆

1.\  具有转义的功能    消除或赋予其特殊意义
2.使用符号的意义。
 	?表示匹配前面的字符零次或一次
	+表示匹配前面的字符一次或多次
	* 表示匹配前面的字符任意次(零次或多次)
	{n,m}表示匹配任意一个单词字符(单词、字符、和下划线)
	{n,} 表示匹配前面的字符n次到无限次
	{n} 表示匹配前面的字符n次
3. 匹配内容规则
 \w   :表示匹配任意一个     单词字符(单词、字符和下划线)
\W   :表示匹配任意一个     非单词字符
\d    :表示匹配任意一个      十进制数字
\D    :表示匹配任意一个      非十进制数字
\s     :表示匹配任意一个      空白字符(包括空格、制表符、换页符等等)
\S    :表示匹配任意一个非空白字符,也就是可见字符
.       : (英文状态下的点.) 表示匹配一个   除换行符      之外的其它任意字符
4.常用的元字符
.       : 表示匹配一个除换行符之外的其它任意字符
?       :表示匹配前面的字符零次或一次
+      :表示匹配前面的字符一次或多次
*       :表示匹配前面的字符任意次(零次或多次)
\        :加在元字符前面可以消除其特殊功能,加在一些普通字符前面可以使其具有特殊含义
{}       :成对出现,表示匹配中括号中指定的次数
[]       :成对出现,表示一个字符集,或者是一个范围,匹配其中一个。有些元字符在其中没有特殊含义
   [1-9][a-z]    [a-zA-Z]
()       :表示一个整体,也可以表示分组(子组),结合匹配对象进行使用
^       :脱字符,表示除xxx之外。还表示从字符串的头开始匹配
|         :对两个正则表达式进行或操作,这个符号优先级别很低

代码应用

package com.etime13;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class T1 {
public static void main(String[] args) {
	Pattern p=Pattern.compile("[a-z]?");   //第一种方式
	Matcher m=p.matcher("abcd");   //使用Pattern和Matcher这两个类
	boolean boo=m.find();          //使用find方法
	System.out.println(boo);    
	
	System.out.println("abcd".matches("[a-z]*"));  //第二种,直接使用matcher方法     true
	System.out.println("atcgABGD".matches("[a-z]+[A-Z]+"));    //true
	System.out.println("aTGNALgjagj".matches("[a-z]{1}[A-Z]+[a-z]*"));  //true
	System.out.println("ahgjhaGAGj".matches("\\w*"));  //true
	System.out.println("ajgkaj*$&*&@*$@".matches(".*"));   //true
	System.out.println("3454ajTEA".matches("\\^5(\\d)*[\\w]*"));   //false
	System.out.println("3454ajTEA".matches("(\\d)^5*[\\w]*"));   //false
	System.out.println("34884ajTEA".matches("((\\d)^5)*[\\w]*"));  //true
 }
}

JavaScript中:

<script>
    function f1(){
        var nameRegEep=/^['应';'美';'川'][1-9]?[a-z]*$/;   //第一种
        var name=document.getElementById("username").value;   //拿到value的值
        alert(name);
        var boo=nameRegEep.test(name);
        if(!boo){
            document.getElementById("information").innerText="用户名验证不通过";
        }
    }
    var f2=function () {
        var pwdRegEeps=new RegExp("[1-9][a-z]*");    //第二种
        var userpwd=document.getElementById("userpwd").value;
        var boo=pwdRegEeps.test(userpwd);
        if(!boo){
            document.getElementById("information").innerText="用户密码验证不通过";   //设置标签里面的text
        }
    }
</script>
</head>
<body>
    用户名<input  type="text" name="username" id="username">
    密码:<input type="password" name="userpwd" id="userpwd">
    <span id="information" style="color: red;font-size:12px "></span>
    <br>
    <button id="check" onclick="f1()">开始验证用户名</button>
    <br>
    <button id="checks" onclick="f2()">开始验证密码</button>

重点:

特别注意()的使用
注意使用限制条件时候的顺序
注意看\的转义,一般是\\或者\\\\

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值