正则表达式(java)
语法
典型例子
^\d+$ //匹配非负整数(正整数 + 0)
^[0-9][1-9][0-9]$ //匹配正整数
^((-\d+)|(0+))$ //匹配非正整数(负整数 + 0)
^-[0-9][1-9][0-9]$ //匹配负整数
^-?\d+$ //匹配整数
^\d+(.\d+)?$ //匹配非负浮点数(正浮点数 + 0)
^(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9]))$ //匹配正浮点数
^((-\d+(.\d+)?)|(0+(.0+)?))$ //匹配非正浮点数(负浮点数 + 0)
^(-(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9])))$ //匹配负浮点数
^(-?\d+)(.\d+)?$ //匹配浮点数
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
^[\w-]+(.[\w-]+)*@[\w-]+(.[\w-]+)+$ //匹配email地址
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.)>.</\1>|<(.*) />/
-
匹配首尾空格的正则表达式:(^\s)|(\s$)
- 正则表达式用例
- 1、^\S+[a-z A-Z]$ 不能为空 不能有空格 只能是英文字母
- 2、\S{6,} 不能为空 六位以上
- 3、^\d+$ 不能有空格 只能是数字
- 4、(.*)(.jpg|.bmp)$ 只能是jpg和bmp格式
- 5、^\d{4}-\d{1,2}-\d{1,2}$ 只能是2004-10-22格式
- 6、^0$ 至少选一项
- 7、^0{2,}$ 至少选两项
- 8、^[\s|\S]{20,}$ 不能为空 二十字以上
- 9、^+?a-z0-9*@([a-z0-9]+(.|-))+[a-z]{2,6}$邮件
- 10、\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)([,;]\s\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)) 输入多个地址用逗号或空格分隔邮件
- 11、^(([0-9]+))?[0-9]{7,8}$电话号码7位或8位或前面有区号例如(022)87341628
- 12、^[a-z A-Z 0-9 *]+@[a-z A-Z 0-9 *]+(.[a-z A-Z 0-9 *]+)+(,[a-z A-Z 0-9 *]+@[a-z A-Z 0-9 *]+(.[a-z A-Z 0-9 ]+)+)$
- 只能是字母、数字、下划线;必须有@和.同时格式要规范 邮件
- 13 ^\w+@\w+(.\w+)+(,\w+@\w+(.\w+)+)*$上面表达式也可以写成这样子,更精练。
- 14 ^\w+((-\w+)|(.\w+))@\w+((.|-)\w+).\w+$ [/size]
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java进阶笔记——你需要了解的volatile 关键字
前言 不管是在面试还是实际开发中volatile都是一个应该掌握的技能。 首先来看看为什么会出现这个关键字。 内存可见性 由于Java内存模型(JMM)规定,所有的变量都存放在主内存中,而每个线程都有着自己的工作内存(高速缓存)。 线程在工作时,需要将主内存中的数据拷贝到工作内存中。这样对数据的任何操作都是基于工作内存(效率提高),并且不能直接操作主内存以及其他线程工作内存中的数据,之后再将更新之后的数据刷新到主内存中。 这里所提到的主内存可以简单认为是堆内存,而工作内存则可以认为是栈内存。 如下图所示: 所以在并发运行时可能会出现线程 B 所读取到的数据是线程 A 更新之前的数据。 显然这肯定是会出问题的,因此volatile的作用出现了: 当一个变量被volatile修饰时,任何线程对它的写操作都会立即刷新到主内存中,并且会强制让缓存了该变量的线程中的数据清空,必须从主内存重新读取最新数据。 volatile修饰之后并不是让线程直接从主内存中获取数据,依然需要将变量拷贝到工作内存中。 内存可见性的应用 当我们需要在两个线程间依据主内存通信时,通信的那个变量就必须的用volatile...
- 下一篇
Django 搭建CMDB系统完整[1](用户登录)
***使用的mysql数据库,所以系统中要先安装mysql数据库 1、安装环境: pip install django python -m pip install --upgrade pip setuptools python -m pip install django pip install --upgrade pyls https://pypi.python.org/simple pip install MySQL-python pip install mysqlclient mkdir /dj cd /dj django-admin startproject cmdb cd cmdb python manage.py migrate cd cmdb vi settings.py 做如下更改 ALLOWED_HOSTS = ['*'] TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Mario游戏-低调大师作品
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7