Java编程中通用的正则表达式(一)
2023-12-13 06:46:56
????????正则表达式(Regular Expression,简称RegEx),又称常规表示法、正则表示、正规表示式、规则表达式、常式、表达式等,是计算机科学中的一个概念。正则表达式是用于描述某种特定模式的字符序列,特别是用来匹配、替换或验证字符串。在很多程序设计语言中都有对正则表达式的支持,常用于字符串操作、输入验证、文本处理等方面。
1、判断字符串是否是邮箱
????????在Java中可以使用正则表达式来判断一个字符串是否是邮箱。以下为示例代码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class EmailValidator {
private static final String EMAIL_REGEX = "^[\\w.-]+@([\\w\\-]+\\.)+[A-Z]{2,4}$";
public static boolean isValidEmail(String email) {
Pattern pattern = Pattern.compile(EMAIL_REGEX, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}
public static void main(String[] args) {
String email1 = "test@example.com";
String email2 = "test.example@com";
System.out.println(email1 + " is valid? " + isValidEmail(email1));
System.out.println(email2 + " is valid? " + isValidEmail(email2));
}
}
输出结果为:
test@example.com is valid? true
test.example@com is valid? false
2、判断字符串是否是手机号
public boolean isPhoneNumber(String str) {
String pattern = "^1[3-9]\\d{9}$"; // 手机号正则表达式
return str.matches(pattern);
}
????????这个方法接收一个字符串参数,并返回一个布尔值,如果字符串符合手机号的格式,则返回 true;否则返回 false。其中,^1[3-9]\d{9}$ 是一个表示手机号的正则表达式,其中:
- ^ 表示匹配字符串的开头
- 1 表示手机号的第一位为 1
- [3-9] 表示第二位为 3-9 中的任意一个数字
- \d{9} 表示后面连续的 9 个数字
- $ 表示匹配字符串的结尾
该正则表达式可以匹配国内主流的手机号格式,包括以 13、14、15、16、17、18、19 开头的手机号码。
3、判断字符串是否是字母数字
????????可以使用Java中的正则表达式匹配函数?matches()
,配合正则表达式?[a-zA-Z0-9]+
?来判断字符串是否仅由字母和数字组成。
示例代码:
String str = "Abc123";
if(str.matches("[a-zA-Z0-9]+")){
System.out.println("该字符串仅由字母和数字组成");
}else{
System.out.println("该字符串不仅由字母和数字组成");
}
????????上述代码中,matches()
函数接收一个正则表达式作为参数,该正则表达式中包含?[a-zA-Z0-9]+
,表示匹配由字母和数字组成的字符串,如果匹配成功,则返回 true,否则返回 false。
4、判断字符串是否是链接
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class LinkChecker {
public static boolean isLink(String str) {
Pattern pattern = Pattern.compile("^(http|https)://[a-zA-Z0-9\\-\\.]+\\.[a-zA-Z]{2,3}(/\\S*)?$");
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}
public static void main(String[] args) {
String link1 = "https://www.google.com/";
String link2 = "www.google.com";
String link3 = "https://www.google.com/search?q=java";
System.out.println(isLink(link1)); // true
System.out.println(isLink(link2)); // false
System.out.println(isLink(link3)); // true
}
}
文章来源:https://blog.csdn.net/m0_37649480/article/details/134882511
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!