标签:content fir case gre cas compile abc body bsp
字符 x 字符 x。举例:‘a‘表示字符a \\ 反斜线字符。 \n 新行(换行)符 (‘\u000A‘) \r 回车符 (‘\u000D‘) 字符类 [abc] a、b 或 c(简单类) [^abc] 任何字符,除了 a、b 或 c(否定) [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围) [0-9] 0到9的字符都包括 预定义字符类 . 任何字符。我的就是.字符本身,怎么表示呢? \. \d 数字:[0-9] \D 非数字:[^\d]/[^0-9] \w 单词字符:[a-zA-Z_0-9] \W 非字符[^\w] 边界匹配器 ^ 行的开头 $ 行的结尾 \b 单词边界, 就是不是单词字符的地方。 Greedy 数量词 X? X,一次或一次也没有 X* X,零次或多次 X+ X,一次或多次 X{n} X,恰好 n 次 X{n,} X,至少 n 次 X{n,m} X,至少 n 次,但是不超过 m 次 运算符 XY X后跟 Y X|Y X 或 Y (X) X,作为捕获组
String类中的三个基本操作使用正则:
匹配:matches()
切割: split()
替换: replaceAll()
public static void main(String[] args) { // 要验证的字符串 String str = "service@xsoftlab.net"; // 邮箱验证规则 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); }
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); }
规则 | 正则表达式语法 |
一个或多个汉字 | ^[\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)?$ |
标签:content fir case gre cas compile abc body bsp
原文地址:https://www.cnblogs.com/qq1312583369/p/11105759.html