记录一些用过、写过的正则表达式,以 JAVA 环境为主
// java String reg = "[a-zA-Z0-9_]+";
// php $reg= '/^\w+$/i';
// java String reg = "[\\w-.\\s]+";
适用于文件名、邮箱帐号名……
// php $reg= '/[\w\-]+@\w+\.\w+/'; $reg= '/^[\w\.\-]+@[\w\-]+\.\w+$/i'; $reg= '/[\w\.\-]+@[a-z0-9\-]+\.(com|cn)/';
// java String reg = "^[a-zA-Z0-9]{6,16}$"; // 6 至 16 位
// php $reg= '/[^a-z0-9]/i';
常用于密码
// java String reg = "[\\u4E00-\\u9FA5]+";
// java String reg = "^ {1,}$"; String reg = "\\s+";
// java String reg = "[1-9]\\d{4,14}";
由非 0 开头的 5 ~ 15 位数字组成
// java String reg = "1[34578]\\d{9}"; // 由 1 开头,第二位数是 3、4、5、7、8 中的一位,总共 11 位
// php $reg= '/^1\d{10}$/i'; // 1 开头的 11 位数字
只允许:数字、A - F、连字符、冒号、空格、点号、逗号,这几种字符出现
(还可以进一步规范)
// java String reg = "[\\s\\S]*[^A-F0-9\\-: \\.,][\\s\\S]*";
// php $reg= '/[^a-f0-9\-\:\s\,]/i';
// java String reg = "^[0-9]{6}$"; String reg = "[0-9]{6}"; String reg = "\\d{6}"; // 6 位数字
// java String reg = "(\\d{6})(\\d{4})(\\d{2})(\\d{2})(\\d{3})([0-9|X])";
总共 18 位,6 位数字代表地区,4 位数字代表年,2 位数字代表月,2 位数字代表日期, 3 位数字代表个人,最后一位可能是数字也可能是 X
(还可以进一步规范,使得符合身份证编码规范)
// java // 用于验证 LINUX 系统下的路径有效性的正则 public static final Pattern LINUX_PATH_PATTERN = Pattern.compile("(/([a-zA-Z0-9][a-zA-Z0-9_\\-]{0,255}/)*([a-zA-Z0-9][a-zA-Z0-9_\\-]{0,255})|/)"); // 用于验证 WINDOWS 系统下的路径有效性的正则 public static final Pattern WINDOWS_PATH_PATTERN = Pattern.compile("(^[A-Z]:((\\\\|/)([a-zA-Z0-9\\-_]){1,255}){1,255}|([A-Z]:(\\\\|/)))");
# .*log 是正则表达式;这里不能写成 *.log 的形式(通配符) a1.sources.r1.filegroups.f1 = /opt/lagou/servers/hive-2.3.9/logs/.*log
// php $reg= "/<li>(.*)<\/li>/i";