Java正则表达式语法

Java正则表达式语法_第1张图片Java正则表达式的语法与示例

 

 

| |目录

1匹配验证-验证Email是否正确

2在字符串中查询字符或者字符串

3常用正则表达式

4正则表达式语法

1匹配验证-验证Email是否正确

 

public static void main(String[] args) {

    // 要验证的字符串

    String str = "[email protected]";

    // 邮箱验证规则

    String regEx = "[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\\.){1,3}[a-zA-z\\-]{1,}";

    // 编译正则表达式

    Pattern pattern = Pattern.compile(regEx);

    // 忽略大小写的写法

    // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);

    Matcher matcher = pattern.matcher(str);

    // 字符串是否与正则表达式相匹配

    boolean rs = matcher.matches();

    System.out.println(rs);

}

2在字符串中查询字符或者字符串

 

public static void main(String[] args) {

    // 要验证的字符串

    String str = "baike.xsoftlab.net";

    // 正则表达式规则

    String regEx = "baike.*";

    // 编译正则表达式

    Pattern pattern = Pattern.compile(regEx);

    // 忽略大小写的写法

    // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);

    Matcher matcher = pattern.matcher(str);

    // 查找字符串中是否有匹配正则表达式的字符/字符串

    boolean rs = matcher.find();

    System.out.println(rs);

}

3常用正则表达式

规则 正则表达式语法  

一个或多个汉字 ^[\u0391-\uFFE5]+$ 

邮政编码 ^[1-9]\d{5}$

QQ号码 ^[1-9]\d{4,10}$ 

邮箱 ^[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\.){1,3}[a-zA-z\-]{1,}$ 

用户名(字母开头 + 数字/字母/下划线) ^[A-Za-z][A-Za-z1-9_-]+$

手机号码 ^1[3|4|5|8][0-9]\d{8}$ 

URL ^((http|https)://)?([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ 

18位身份证号 ^(\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X|x)?$

 

 

4正则表达式语法

元字符

 

描述

 

\

 

将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。

 

^

 

匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。

 

$

 

匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。

 

*

 

匹配前面的子表达式任意次。例如,zo*能匹配“z”,“zo”以及“zoo”。*等价于{0,}。

 

+

 

匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于

你可能感兴趣的:(java)