Java正则表达式

Java正则表达式

Java正则表达式是一种特殊的字符串模式,用于匹配和搜索字符串。它在Java中的实现是通过java.util.regexp包中的正则表达式引擎。

以下是Java正则表达式的一些常用元字符和语法:

  1. 匹配数字:\d
  2. 匹配非数字:\D
  3. 匹配空白字符:\s
  4. 匹配非空白字符:\S
  5. 匹配单词字符(字母、数字、下划线):\w
  6. 匹配非单词字符:\W
  7. 匹配任意字符(除换行符):.
  8. 匹配零次或多次:*
  9. 匹配一次或多次:+
  10. 匹配零次或一次:?
  11. 匹配指定次数:{n}
  12. 匹配最少n次:{n,}
  13. 匹配n至m次:{n,m}
  14. 匹配以指定字符开头:^
  15. 匹配以指定字符结尾:$
  16. 匹配分组:()
  17. 匹配或:|
  18. 匹配非:^(在[]内)
  19. 匹配范围(字符集):[abc](匹配a、b、c中的任意一个字符)
  20. 匹配范围(连字符):[a-z](匹配a-z之间的任意一个小写字母)
  21. 匹配范围(否定):[^abc](匹配除了a、b、c之外的任意一个字符)
  22. 匹配单词边界:\b
  23. 匹配非单词边界:\B
  24. 匹配换行符:\n
  25. 匹配回车符:\r
  26. 匹配制表符:\t
  27. 匹配退格符:\b
  28. 匹配任意数字:[0-9]
  29. 匹配任意字母:[a-zA-Z]
  30. 匹配任意小写字母:[a-z]
  31. 匹配任意大写字母:[A-Z]
  32. 匹配任意数字和字母:[a-zA-Z0-9]
  33. 匹配任意非数字和字母:[^a-zA-Z0-9]
  34. 匹配邮箱地址:\w+@[a-zA-Z0-9]+.[a-zA-Z]{2,}
  35. 匹配手机号码:1[3-9]\d{9}
  36. 匹配IP地址:\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}

在Java中,可以使用Pattern类和Matcher类来实现正则表达式的匹配。

Pattern类表示一个正则表达式,其中包含compile()方法,用于编译正则表达式,并返回一个Pattern对象。

Matcher类表示一个匹配器,其中包含find()、group()等方法,用于在给定的输入字符串中查找和获取匹配的字符串。

Java正则表达式非常灵活,对匹配字符串有很高的精度要求,可以用于多种应用程序中,例如文本处理、搜索、替换等。

数值实例:
1、整数

	public static final String intege = "^-?[1-9]\\d*$/";
	
	// 输出实例
	System.out.println(Pattern.matches(intege,"123")); 
	System.out.println(Pattern.matches(intege,"-123"));

2、正整数

	public static final String intege1 = "^[1-9]\\d*$/";	
	
	// 输出实例
	System.out.println(Pattern.matches(intege1,"123"));

3、负整数

	public static final String intege2 = "^-[1-9]\\d*$/";	
	
	// 输出实例
	System.out.println(Pattern.matches(intege2,"-123"));

4、数字

	public static final String num = "^([+-]?)\\d*\\.?\\d+$/";

	// 输出实例
	System.out.println(Pattern.matches(num,"123")); 
	System.out.println(Pattern.matches("0"));

5、正数(正整数 + 0)

	public static final String num1 = "^[1-9]\\d*|0$/";

	// 输出实例
	System.out.println(Pattern.matches(num1,"123"));
	System.out.println(Pattern.matches(num1,"0"));

6、负数(负整数 + 0)

	public static final String num2 = "^-[1-9]\\d*|0$/";	

	// 输出实例
	System.out.println(Pattern.matches(num2,"-123"));
	System.out.println(Pattern.matches(num2,"0"));

7、浮点数

	public static final String decmal = "^([+-]?)\\d*\\.\\d+$/";	

	// 输出实例
	System.out.println(Pattern.matches(decmal,"-0.1")); 
	System.out.println(Pattern.matches(decmal,"0.1"));

8、正浮点数

	public static final String decmal1 = "^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$";

	// 输出实例
	System.out.println(Pattern.matches(decmal1,"0.1"));

9、负浮点数

	public static final String decmal2 = "^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$";

	// 输出实例
	System.out.println(Pattern.matches(decmal2,"-0.1"));

10、浮点数

	public static final String decmal3 = "^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$";

	// 输出实例
	System.out.println(Pattern.matches(decmal3,"-0.1"));
	System.out.println(Pattern.matches(decmal3,"0.1"));

11、非负浮点数(正浮点数 + 0

	public static final String decmal4 = "^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0$";

	// 输出实例
	System.out.println(Pattern.matches(decmal4,"0.1"));

12、非正浮点数(负浮点数 + 0)

	public static final String decmal5 = "^(-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*))|0?.0+|0$";

	// 输出实例
	System.out.println(Pattern.matches(decmal5,"-0.1"));
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的头发哪去了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值