千家信息网

RegexUtils怎么使用

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,本篇内容主要讲解"RegexUtils怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"RegexUtils怎么使用"吧!站点正则相关→RegexUt
千家信息网最后更新 2025年12月01日RegexUtils怎么使用

本篇内容主要讲解"RegexUtils怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"RegexUtils怎么使用"吧!

站点

  • 正则相关→RegexUtils.java→Test

    isMobileSimple  : 验证手机号(简单)isMobileExact   : 验证手机号(精确)isTel           : 验证电话号码isIDCard15      : 验证身份证号码15位isIDCard18      : 验证身份证号码18位isEmail         : 验证邮箱isURL           : 验证URLisZh            : 验证汉字isUsername      : 验证用户名isDate          : 验证yyyy-MM-dd格式的日期校验,已考虑平闰年isIP            : 验证IP地址isMatch         : 判断是否匹配正则getMatches      : 获取正则匹配的部分getSplits       : 获取正则匹配分组getReplaceFirst : 替换正则匹配的第一部分getReplaceAll   : 替换所有正则匹配的部分


具体路线

import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;import static com.blankj.utilcode.utils.ConstUtils.*;/** * 
*     author: Blankj *     blog  : http://blankj.com *     time  : 2016/8/2 *     desc  : 正则相关工具类 *
 */public class RegexUtils {    private RegexUtils() {        throw new UnsupportedOperationException("u can't instantiate me...");    }    /**     * If u want more please visit http://toutiao.com/i6231678548520731137/     */    /**     * 验证手机号(简单)     *     * @param input 待验证文本     * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isMobileSimple(CharSequence input) { return isMatch(REGEX_MOBILE_SIMPLE, input); } /** * 验证手机号(精确) * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isMobileExact(CharSequence input) { return isMatch(REGEX_MOBILE_EXACT, input); } /** * 验证电话号码 * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isTel(CharSequence input) { return isMatch(REGEX_TEL, input); } /** * 验证身份证号码15位 * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isIDCard15(CharSequence input) { return isMatch(REGEX_ID_CARD15, input); } /** * 验证身份证号码18位 * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isIDCard18(CharSequence input) { return isMatch(REGEX_ID_CARD18, input); } /** * 验证邮箱 * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isEmail(CharSequence input) { return isMatch(REGEX_EMAIL, input); } /** * 验证URL * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isURL(CharSequence input) { return isMatch(REGEX_URL, input); } /** * 验证汉字 * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isZh(CharSequence input) { return isMatch(REGEX_ZH, input); } /** * 验证用户名 *
取值范围为a-z,A-Z,0-9,"_",汉字,不能以"_"结尾,用户名必须是6-20位* * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isUsername(CharSequence input) { return isMatch(REGEX_USERNAME, input); } /** * 验证yyyy-MM-dd格式的日期校验,已考虑平闰年 * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isDate(CharSequence input) { return isMatch(REGEX_DATE, input); } /** * 验证IP地址 * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isIP(CharSequence input) { return isMatch(REGEX_IP, input); } /** * 判断是否匹配正则 * * @param regex 正则表达式 * @param input 要匹配的字符串 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isMatch(String regex, CharSequence input) { return input != null && input.length() > 0 && Pattern.matches(regex, input); } /** * 获取正则匹配的部分 * * @param regex 正则表达式 * @param input 要匹配的字符串 * @return 正则匹配的部分 */ public static ListgetMatches(String regex, CharSequence input) { if (input == null) return null; Listmatches = new ArrayList<>(); Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); while (matcher.find()) { matches.add(matcher.group()); } return matches; } /** * 获取正则匹配分组 * * @param input 要分组的字符串 * @param regex 正则表达式 * @return 正则匹配分组 */ public static String[] getSplits(String input, String regex) { if (input == null) return null; return input.split(regex); } /** * 替换正则匹配的第一部分 * * @param input 要替换的字符串 * @param regex 正则表达式 * @param replacement 代替者 * @return 替换正则匹配的第一部分 */ public static String getReplaceFirst(String input, String regex, String replacement) { if (input == null) return null; return Pattern.compile(regex).matcher(input).replaceFirst(replacement); } /** * 替换所有正则匹配的部分 * * @param input 要替换的字符串 * @param regex 正则表达式 * @param replacement 代替者 * @return 替换所有正则匹配的部分 */ public static String getReplaceAll(String input, String regex, String replacement) { if (input == null) return null; return Pattern.compile(regex).matcher(input).replaceAll(replacement); }}

终点站

相信乘客们都没有见到相应的正则表达式,因为我做了import static com.blankj.utilcode.utils.ConstUtils.*;,相关常量都在这个常量工具类里,下面贴出相关代码。

/******************** 正则相关常量 ********************//** * 正则:手机号(简单) */public static final String REGEX_MOBILE_SIMPLE = "^[1]\\d{10}$";/** * 正则:手机号(精确) *移动:134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188*联通:130、131、132、145、155、156、175、176、185、186*电信:133、153、173、177、180、181、189*全球星:1349*虚拟运营商:170*/public static final String REGEX_MOBILE_EXACT  = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|(147))\\d{8}$";/** * 正则:电话号码 */public static final String REGEX_TEL           = "^0\\d{2,3}[- ]?\\d{7,8}";/** * 正则:身份证号码15位 */public static final String REGEX_ID_CARD15     = "^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$";/** * 正则:身份证号码18位 */public static final String REGEX_ID_CARD18     = "^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9Xx])$";/** * 正则:邮箱 */public static final String REGEX_EMAIL         = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";/** * 正则:URL */public static final String REGEX_URL           = "[a-zA-z]+://[^\\s]*";/** * 正则:汉字 */public static final String REGEX_ZH            = "^[\\u4e00-\\u9fa5]+$";/** * 正则:用户名,取值范围为a-z,A-Z,0-9,"_",汉字,不能以"_"结尾,用户名必须是6-20位 */public static final String REGEX_USERNAME      = "^[\\w\\u4e00-\\u9fa5]{6,20}(?

到此,相信大家对"RegexUtils怎么使用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

验证 正则 文本 号码 手机 手机号 表达式 身份 身份证 部分 字符 字符串 用户 用户名 汉字 分组 精确 常量 电话 电话号码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发小型公司介绍 优秀硕士论文数据库 洛阳天敏网络技术有限公司 外接硬件软件开发 达梦数据库导入数据失败 网络安全人才最新报告 关于网络安全的微电影主题 数据库新建连接测试失败 比特币挖矿服务器 系统软件开发商务网信息网 推广软件开发加盟商选择 数据库设计工具有哪些 关于网络安全的故事500字 湖北通用软件开发成本价 dcs系统网络安全管理制度 云服务器与实体服务器优劣 网络安全警句的通知 mhr 数据库 网络安全的坚定维护者中国 车闸软件启动一直弹数据库管理 服务器内存如何看生产日期 华为服务器raid10 交通运输有哪些数据库系统 gdc服务器自动化指令导出 数据库出错会成功吗 图像识别是哪种神经网络技术 asp是静态服务器缩写吗 无线网络技术与应用论文 连接数据库的字符串在哪 服务器虚拟化如何保证安全
0