在线常用正则表达式可视化生成与测试工具 Regular Expression
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真阅读本教程,加上应用的时候进行一定的参考,掌握正则表达式不是问题。
许多程序设计语言都支持利用正则表达式进行字符串操作。
数字 汉字 英文和数字 16进制颜色 Email地址 域名 网址 迅雷链接 ed2k链接 视频链接 图片链接 base64格式
手机号码 电话号码 身份证(宽松) 身份证(1代) 身份证(2代) 香港身份证 澳门身份证 台湾身份证 护照 HTML标记 HTML注释
腾讯QQ号 中国邮政编码 火车车次 IMEI码 银行卡 车牌(非新能源) 车牌(新能源) 车牌(新能源+非新能源) IPv4地址 IPv6(不严谨)
子网掩码 mac地址 linux文件夹 linux文件 window文件夹 window文件 股票代码(A股) GUID/UUID java包名 日期格式
正浮点数 负浮点数 判断考卷分数
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexMatches {
public static void main(String args[]) {
String str = "";
String pattern = "^\d{3}-\d{8}|\d{4}-\d{7,8}";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(str);
System.out.println(m.matches());
}
}
import re
pattern = re.compile(r'^\d{3}-\d{8}|\d{4}-\d{7,8}')
str = ''
m=pattern.search(str)
print(m)
print(m.group(0))
. - 除换行符以外的所有字符。
^ - 字符串开头。
$ - 字符串结尾。
\d,\w,\s - 匹配数字、字符、空格。
\D,\W,\S - 匹配非数字、非字符、非空格。
[abc] - 匹配 a、b 或 c 中的一个字母。
[a-z] - 匹配 a 到 z 中的一个字母。
[^abc] - 匹配除了 a、b 或 c 中的其他字母。
aa|bb - 匹配 aa 或 bb。
? - 0 次或 1 次匹配。
* - 匹配 0 次或多次。
+ - 匹配 1 次或多次。
{n} - 匹配 n次。
{n,} - 匹配 n次以上。
{m,n} - 最少 m 次,最多 n 次匹配。
(expr) - 捕获 expr 子模式,以 \1 使用它。
(?:expr) - 忽略捕获的子模式。
(?=expr) - 正向预查模式 expr。
(?!expr) - 负向预查模式 expr。
正则表达式 - 教程 https://www.runoob.com/regexp/regexp-tutorial.html