Java年月的正则表达式_java如何判断是否为有效的年月日
java如何判断为有效的年月日
用正则表达式,比如格式为年-月-日
随手写了个小例子:
public class Check {
public static void main(String[] args) {
String date="1978-10-16";
System.out.println(date.matches("^\\d{4}\\-\\d{2}\\-\\d{2}$")?"ok":"no");
}
}
举一反三吧.
下面是正则的一点资料,虽是用javascript做的,但原理一样:
JavaScript中的正则表达式(1)
正则表达式(regular expression)对象包含一个正则表达式模式(pattern)。它具有用正则表达式模式去匹配或代替一个串(string)中特定字符(或字符集合)的属性(properties)和方法(methods)。 要为一个单独的正则表达式添加属性,可以使用正则表达式构造函数(constructor function),无论何时被调用的预设置的正则表达式拥有静态的属性(the predefined RegExp object has static properties that are set whenever any regular expression is used, 我不知道我翻得对不对,将原文列出,请自行翻译)。
创建:
一个文本格式或正则表达式构造函数
文本格式: /pattern/flags
正则表达式构造函数: new RegExp("pattern"[,"flags"]);
参数说明:
pattern -- 一个正则表达式文本
flags -- 如果存在,将是以下值:
g: 全局匹配
i: 忽略大小写
gi: 以上组合
[注意] 文本格式的参数不用引号,而在用构造函数时的参数需要引号。如:/ab+c/i new RegExp("ab+c","i")是实现一样的功能。在构造函数中,一些特殊字符需要进行转意(在特殊字符前加"\")。如:re = new RegExp("\\w+")
正则表达式中的特殊字符
字符 含意
\ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。
-或-
对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"。
^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a"
$ 匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A"
* 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa
+ 匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa
? 匹配前面元字符0次或1次,/ba*/将匹配b,ba
(x) 匹配x保存x在名为$1...$9的变量中
x|y 匹配x或y
{n} 精确匹配n次
{n,} 匹配n次以上
{n,m} 匹配n-m次
[xyz] 字符集(character set),匹配这个集合中的任一一个字符(或元字符)
[^xyz] 不匹配这个集合中的任何一个字符
[\b] 匹配一个退格符
\b 匹配一个单词的边界
\B 匹配一个单词的非边界
\cX 这儿,X是一个控制符,/\cM/匹配Ctrl-M
\d 匹配一个字数字符,/\d/ = /[0-9]/
\D 匹配一个非字数字符,/\D/ = /[^0-9]/
\n 匹配一个换行符
\r 匹配一个回车符
\s 匹配一个空白字符,包括\n,\r,\f,\t,\v等
\S 匹配一个非空白字符,等于/[^\n\f\r\t\v]/
\t 匹配一个制表符
\v 匹配一个重直制表符
\w 匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[\w]匹配"$5.98"中的5,等于[a-zA-Z0-9]
\W 匹配一个不可以组成单词的字符,如[\W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。
\/:匹配一个/,不能直接用/,因为它本身可以作为正则表达式的边界符
说了这么多了,我们来看一些正则表达式的实际应用的例子:
E-mail地址验证:
function test_email(strEmail) {
var myReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;
if(myReg.test(strEmail)) return true;
return false;
}
HTML代码的屏蔽
function mask_HTMLCode(strInput) {
var myReg = //;
return strInput.replace(myReg, "<$1>");
Java年月的正则表达式_java如何判断是否为有效的年月日相关推荐
- java sql注入 正则表达式_Java防止SQL注入(转)
一.SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. 二.SQL注入攻击的总体 ...
- java 中的正则表达式_Java中的正则表达式–软介绍
java 中的正则表达式 正则表达式是一种可以应用于文本(Java中的String)的模式. Java提供了java.util.regex包,用于与正则表达式进行模式匹配. Java正则表达式与Per ...
- java能否构成三角形_java中判断三个参数是否能构成三角形的方法
java中判断三个参数是否能构成三角形的方法 发布时间:2020-06-25 14:02:58 来源:亿速云 阅读:171 作者:Leah 这篇文章将为大家详细讲解有关java中判断三个参数是否能构成 ...
- java 校验文件类型_java如何判断一个文件的类型 | 学步园
用文件头判断.直接读取文件的前几个字节. 常用文件的文件头如下: JPEG (jpg),文件头:FFD8FF PNG (png),文件头:89504E47 GIF (gif),文件头:47494638 ...
- java equal 不等于_java Integer判断相等只能使用equals(不能使用==)
java Integer包装类和基础类型int,相互之间都可以使用==判断相等,平时没注意不能使用==,也不会轻易报错,但是实际只能用equals,而int之间就没得选,只能==. 测试代码 Inte ...
- java socket 对方关闭_java Socket判断对方是否已关闭连接
如何判断远端socket是否已经断开连接,如果断开那么需要重新连接. 1通过socket类的方法isClosed().isConnected().isInputStreamShutdown().isO ...
- java户名的正则表达式_java – 用于验证用户名的正则表达式
我正在尝试创建一个正则表达式来根据这些条件验证用户名: >仅包含字母数字字符, 下划线和点. >下划线和点不能在最后或 用户名的开头(例如_username / username_ / . ...
- java linux runtime 正则表达式_Java学习之正则表达式
Java正则表达式字符串模式. 正则表达式可以用来搜索.编辑和处理文本. 正则表达式不尽限于一种语言,但在每一种语言中又细微的差别. java.util.regex包中主要有这3个类: Pattern ...
- java判定成绩等级_Java编程判断一组学生成绩等级
首先需要说明,本代码使用的判断方式是每个学生成绩与最高学生成绩的差来判断等级 eg:最高成绩98(最高成绩等级为A) 87为B: 77为C: 67为D: 47为D: 代码如下: import java ...
最新文章
- 激光点云格式转换 bin-to-pcd
- VTK:几何对象之PlaneSource
- autopep8规范你的python代码
- 时序分析:串匹配—Brute-Force算法
- 第二阶段冲刺(第九天)
- wordpress 自定义字段
- OJ1180: 成绩统计(结构体专题)(C语言)
- hdu2369 Broken Keyboard(类似dfs)
- zend studio10运行php,加速Zend Studio 运行的10点技巧
- ET框架6.0Demo运行学习笔记
- 【2021LaTeX模板分享】数学建模竞赛国赛
- python 批量修改图片尺寸
- cpu型号怎么看服务器,看不懂CPU?学会看CPU只要五分钟
- Matlab中的ans小结
- 统计篇(五)-- 随机变量、样本、统计量
- 两部手机怎样才能把数据都传过来_两台苹果手机怎么传数据最快(两台 iPhone 互传应用的 3 个小技巧)...
- linux运行gpg软件,Linux实用工具之GPG
- FS116B FS 0.55A电流输出单通道玩具直流马达驱动器
- java 基础练习(1-5)
- 开车,开车,打疫苗以为能收获爱情,结果收到了警方提示,我哭了
热门文章
- ambari Metrics Collector 无法收集信息
- PowerDesigner12.5创建物理数据模型
- android禁止输入字符,Android输入框禁止输入表情符号、特殊字符
- 写给大忙人的建议:如何优雅地速成代码?(教你如何在忙碌中学习新知识)
- 4.2 Python 实例5-身体质量指数BMI
- python练习|if嵌套
- 大数加法(ascll转换),利息计算(数组,sizeof与循环运用)
- 关于广州小狐科技有限公司
- linux检测不到数位板,[转载]ubuntu下gimp使用友基数位板
- Nginx中文域名配置