出生年月正则表达式java
时间: 2024-02-23 21:55:20 浏览: 107
当涉及到处理日期和时间的字符串时,可以使用正则表达式来匹配出生年月的格式。以下是一个示例的出生年月正则表达式,适用于Java语言:
```java
String regex = "^(19|20)\\d{2}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$";
```
这个正则表达式的解释如下:
- `^` 表示匹配字符串的开头
- `(19|20)` 表示以19或20开头
- `\\d{2}` 表示匹配两位数字(年份)
- `-` 表示匹配横线分隔符
- `(0[1-9]|1[0-2])` 表示匹配01到09或10到12之间的数字(月份)
- `-` 表示匹配横线分隔符
- `(0[1-9]|[12]\\d|3[01])` 表示匹配01到09、10到29或30到31之间的数字(日期)
- `$` 表示匹配字符串的结尾
这个正则表达式可以匹配形如"1990-01-01"的日期格式,其中年份范围为1900到2099年,月份范围为01到12,日期范围根据月份而定。
相关问题
java正则表达式输出出生日期和网站
以下是一个Java正则表达式的例子,用于从字符串中提取出生日期和网站:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
public static void main(String[] args) {
String input = "My birthday is 1990-01-01 and my website is https://www.example.com";
String regex = "(\\d{4}-\\d{2}-\\d{2}).*?(https?://\\S+)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
String birthday = matcher.group(1);
String website = matcher.group(2);
System.out.println("Birthday: " + birthday); // 输出:Birthday: 1990-01-01
System.out.println("Website: " + website); // 输出:Website: https://www.example.com
}
}
}
```
Java十八位身份证正则表达式
Java的十八位身份证正则表达式如下:
"^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$"
其中,前六位为地址码,第七到第十位为出生年份,第十一到第十二位为出生月份,第十三到第十四位为出生日期,第十五到十七位为顺序码,最后一位为校验码。其中,顺序码为奇数表示男性,偶数表示女性。校验码的计算方法可以参考引用中的Java算法。
阅读全文