在项目中我们总会遇到一些字符匹配的时候,最典型的就是验证用户输入的邮箱或者手机号是否符合格式规范。那我们在做这些匹配的时候,可以有两种方式。
1、 这是一种笨办法。就是自己根据项目的要求来写一个匹配的类,通过一个字符一个字符来匹配,从而得到自己想要的结果。
2、 还有一种就是使用正则表达式。这是普遍都回通用的方法。Android中使用正则,只要3句话:
Pattern pattern = Pattern.compile(reg),reg表示的是正则表达式
Matcher matcher = pattern.matcher(string),string表示的是需要匹配的字符
matcher.matcher(),这边就是直接返回一个boolean值,来表示正确与否
正则表达式用起来挺容易的,但是,正则表达式的书写很是头痛。基本的语法就不讲了,太琐碎了,网上相关的资源也比较多。还有就是正则表达式中的转义字符,我在2011年的12.28号那篇日记中写过了,也就不重复了。
这边就贴点平时常用的一些正则表达式
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ //email地址
^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ //url
^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$ //年-月-日
^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$ //月/日/年
^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$ //Emil
^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$ //电话号码
^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$ //IP地址
(^\s*)|(\s*$) // 首尾空格
^[a-zA-Z][a-zA-Z0-9_]{4,15}$ // 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)
^[1-9]*[1-9][0-9]*$ // 腾讯QQ号
分享到:
相关推荐
javascript中正则表达式用法详解
### ABAP中正则表达式的简单使用 #### 1. **匹配所有字符** 在ABAP中,可以使用`[^x00-xff]*`这样的正则表达式来匹配所有字符,其中`[^x00-xff]`表示除了ASCII控制字符之外的所有字符,而`*`则表示可以匹配任意...
15. `|`:选择运算符,匹配两个或多个表达式之一。 16. `()`:分组,将多个字符视为一个整体。 在Java中,使用正则表达式的步骤通常包括: 1. 创建`Pattern`对象:`Pattern pattern = Pattern.compile("正则表达式...
### PHP中的正则表达式应用详解 在PHP编程中,正则表达式是一种...以上是关于PHP中正则表达式的详细解析与实际应用案例。通过学习和理解这些正则表达式,你可以更高效地处理各种文本数据,提高程序的功能性和健壮性。
JAVA中正则表达式详解
本文主要探讨了如何在Android Studio的Logcat日志过滤器中运用正则表达式,以提高调试效率。 首先,理解正则表达式在Android Studio中的作用至关重要。正则表达式,又称regex,是一种强大的文本搜索和匹配工具。它...
在Java中,正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和分割字符串。自从JDK 1.4开始,Java提供了内置的正则表达式API,位于`java.util.regex`包中,主要包括`Pattern`和`Matcher`两个核心类。 1. ...
本文主要介绍了关于Oracle中正则表达式的使用方法,下面话不多说了,来一起看看详细的介绍。 Oracle使用正则表达式离不开这4个函数:regexp_like、regexp_substr、regexp_instr、regexp_replace。 regexp_like 该...
北风网讲javascript正则表达式,屏幕录像专家录制的,exe格式直接双击观看,js的正则表达式难吆,有老师边讲边演示可带你快速入门吆。
VBA正则表达式在Excel中使用,希望能给大家有所帮助,还有其他相关EXCEL资源,需要有的可以联系我. 谢谢.
javascript中正则表达式实现输入内容过滤
- 当两者结合使用,如`^abc$`,则会匹配整个字符串仅由"abc"组成的文本。 2. **'*', '+', 和 '?'** - `*` 表示零个或多个前面的字符,相当于`{0,}`。例如,`ab*`匹配任何以"a"开头,后面跟着零个或多个"b"的字符...
如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一...
### 浅谈Java中正则表达式的优化方法 在日常的软件开发过程中,正则表达式作为一种强大的文本处理工具被广泛应用于数据验证、文本搜索与替换等场景之中。尤其是在Java语言环境中,`java.util.regex`包提供了丰富的...
DB2使用正则表达式所需的压缩包,按照博客步骤进行操作
本篇将深入探讨Objective-C中正则表达式的使用,特别是涉及到特殊符号转义字符的处理。 在Objective-C中,我们通常使用NSRegularExpression类来操作正则表达式。首先,我们需要了解一些基础的正则表达式语法,比如...