记忆
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>
重点:
特别注意()的使用
注意使用限制条件时候的顺序
注意看\的转义,一般是\\或者\\\\