- 浏览: 1326281 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (896)
- spring4 (14)
- hibernate3 (26)
- spring2 (35)
- struts2 (55)
- struts1 (15)
- 设计模式 (15)
- java (172)
- mybatis3 (11)
- sql (17)
- mysql (13)
- jbpm (10)
- J2EE (45)
- tools (29)
- js (83)
- 数据结构 (13)
- Html (26)
- web (22)
- flex (33)
- Oracle (57)
- linux (49)
- 算法 (6)
- 其它 (12)
- easyui (1)
- bootstrap (13)
- xml (2)
- tomcat (1)
- redis (10)
- activemq (2)
- webservice (11)
- maven (2)
- springboot (1)
- ubuntu (1)
- python (14)
- rocketmq (1)
- springcloud (10)
- opencv (1)
最新评论
-
mike_eclipse:
Hashtable是线程不安全的吗?好像是线程安全的吧?
多线程之集合类 -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
lodop打印控件 -
xingcxb:
经过测试,假的,依旧会出现中文乱码!!!!store方法里面采 ...
java 读写Properties文件,不会出现中文乱码 -
tiger20111989:
...
Spring注解方式管理事务 -
zw7534313:
...
js 文字上下滚动 无间断循环显示
1.java 正则表达式
http://hi.baidu.com/doodle88/blog/item/45559f006774ef077aec2c76.html
http://hi.baidu.com/zzcc%5F8/blog/item/a87b8622e63fe4ad4623e88a.html
(1)匹配中文字符的正则表达式: [\u4e00-\u9fa5]
(2)匹配HTML标记的正则表达式: <(\S*?)[^>]*>.*? </\1> ¦ <.*? />
(3)匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
(4)匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*
(5)匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
(6)匹配身份证:\d{15} ¦\d{18}
- 匹配国内电话号码:\d{3}-\d{8} ¦\d{4}-\d{7}
- 评注:匹配形式如 0511-4405222 或 021-87888822
(8)^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
(9)^[1-9]\d*\.\d* ¦0\.\d*[1-9]\d*$ //匹配正浮点数
(10)^[1-9]\d* ¦0$ //匹配非负整数(正整数 + 0)
(11)^[1-9]\d*\.\d* ¦0\.\d*[1-9]\d* ¦0?\.0+ ¦0$ //匹配非负浮点数(正浮点数 + 0) 正则表达式 正则表达式
<script language="vbScript" >
set re = new RegExp
re.Pattern = "[-:\s]"
re.Global = true
msgbox re.Replace(now(), "")
set re =nothing
</script>
Function IsVerify(patrn,strng)
strng=Trim(strng)
Select Case patrn
Case "User" '用户名
patrn="^[a-z]{1}([a-z0-9]|[._]){2,19}$"
Case "Truename" '英文姓名
patrn="^[a-zA-Z]{1,30}$"
Case "Passwd" '密码
patrn="^(\w){6,20}$"
Case "Tel" '电话/传真
patrn="^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$"
Case "Mobil" '手机
patrn="^(\d)+[-]?(\d){6,12}$"
Case "Date" '日期(格式:yyyy-mm-dd)
patrn="^[12]{1}(\d){3}[-][01]?(\d){1}[-][0123]?(\d){1}$"
Case "Email" '电子邮件
patrn="^((\w)|[-]|[.])+@(((\w)|[-])+[.])+[a-z]{2,4}$"
Case "Postalcode" '邮政编码
patrn="^[a-z0-9 ]{3,12}$"
Case "Search" '搜索关键字
patrn="^[^`~!@#$%^&*()+=|\\\[\]\{\}:;\'\,.<>/?]{1}[^`~!@$%^&()+=|\\\[\]\{\}:;\'\,.<>?]{0,19}$"
Case "Int" '整数
patrn="^[1-9]{1}[0-9]{0,5}$"
Case "Array"
patrn="^[0-9]{1}([0-9]|[\,]){0,150}$"
End Select
Dim regEx
Dim Match
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = True
regEx.Global = True
Matches = regEx.test(strng)
IsVerify = Matches
Set regEx = Nothing
End Function
<SCRIPT LANGUAGE=vbs>
a="A1B2C3"
Function F(S,P)
Dim regEx, Match, Matches ' 建立变量。
Set regEx = New RegExp ' 建立正则表达式。
regEx.Pattern = P ' 设置模式。
regEx.IgnoreCase = True ' 设置是否区分字符大小写。
regEx.Global = True ' 设置全局可用性。
Set Matches = regEx.Execute(S) ' 执行搜索。
For Each Match in Matches ' 遍历匹配集合。
S =replace(S,Match.Value,"")
Next
F = S
End Function
MsgBox F(a,"\d")
</SCRIPT>
Java在JDK1.4中开始加入了正则表达式。但Java的正则表达式使用与其他语言的正则表达式有个很大的区别:反斜杠!在Java中“\\”表示一个反斜杠因此“\\\\”才表示两个反斜杠。然后某些转义字符却只需要一个反斜杠,如“\n”,“\t”,不用写成“\\n”,“\\t”。
在Java中可以使用Pattern.compile静态方法创建正则表达式。在使用正则表达式匹配数据时,可以根据具体情况有可以使用Matcher类的find,lookingAt,matcher方法。
三种匹配方法匹配成功的情况为:
find:字符中存在匹配成功的字符
lookingAt:匹配成功字符必须在字符开始处
matcher:整个字符匹配成功
正则表达式可以用于字符串的分割,替换等操作。
分割操作:split方法:第二个参数:用于限制分割字符的数目。
字符串和正则表达式都有分割方法,区别只在于正则表达式的分割方法接受字符串做参数(其实是CharSquence接口,但是字符串继承了该接口)。而字符串的分割方法也是接受字符串参数,只是字符串表示匹配的样式。
替换操作:有多个比较实用的替换操作,如replaceFirst,replaceAll,字符串和正则表达式都同时拥有这些方法。在这里我想简单介绍下appendReplacement和appendTail两个方法。
appendReplacement方法:用于逐个替换匹配,其最大特点在于再匹配的过程中可以更改替换的数据!
appendTail方法:在方法appendReplacement调用之后调用,用于复制源字符串的剩余部分字符(即最后一个匹配后的原字符段)
<script type="text/javascript"><!--
google_ad_client = "pub-4348265167276910";
/* 468x60, 个人博客 */
google_ad_slot = "2046406163";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script><script src="http://pagead2.googlesyndication.com/pagead/expansion_embed.js"></script><script src="http://googleads.g.doubleclick.net/pagead/test_domain.js"></script><script src="http://pagead2.googlesyndication.com/pagead/render_ads.js"></script><script>google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);</script>
发表评论
-
服务端推送multipart/x-mixed-replace
2023-12-07 15:26 417往网页分批推送数据:boundary=END,总头--> ... -
使用httpclient提交post请求
2020-08-22 08:35 484import org.apache.http.HttpEnt ... -
Groovy超强的Java动态计算能力
2020-06-25 09:03 696//Groovy超强的Java动态计算能力 groovy-2. ... -
bsh(BeanShell)动态执行java代码
2020-06-25 07:59 995import java.util.Date; /** * B ... -
延时任务处理订单超时方案
2020-05-23 16:05 1015JDK的延迟队列 方案是利用JDK自带的DelayQueue ... -
HttpsURLConnection
2020-04-29 10:51 863import java.net.URL; import jav ... -
Log4j的ConversionPattern参数的格式含义
2020-04-22 14:23 513Log4j的ConversionPattern参数的格式含义 ... -
thread 的join
2020-04-16 18:02 424java里面也有这个方法,Java Thread中, join ... -
GZIPOutputStream压缩文件
2020-04-16 17:52 795import java.io.BufferedReader; ... -
软引用SoftReference的使用
2020-04-16 15:48 587软引用SoftReference的使用 SoftRefere ... -
Fastjson
2020-04-15 14:53 408import java.util.ArrayList; imp ... -
6位随机数
2020-04-14 09:47 815import org.apache.commons.lang. ... -
Java加密和数字签名
2020-04-14 09:38 425Java加密和数字签名 消息摘要 这是一种与消息认证码结合使 ... -
DES加密、解密
2020-04-02 16:42 439import java.security.SecureRand ... -
Java利用 AES/ECB/PKCS5Padding 算法加解密
2020-04-02 11:19 1070对称加密、解密 import javax.crypto.Ci ... -
springboot中使用springmvc的拦截器-HandlerInterceptorAdapter
2018-12-13 16:04 1394springboot中使用springmvc的拦截器-Hand ... -
aspectj连接点
2018-12-13 15:55 606切点指示符 切点指示符 ... -
spring之AspectJ面向切面编程
2018-12-13 14:15 913spring之AspectJ面向切面编程 面向切面编程,实现 ... -
设计模式之策略模式
2018-05-30 21:17 563public class Person { priva ... -
使用反射将对象转Map
2018-05-27 17:33 733//使用反射将对象转Map<String, St ...
相关推荐
在Qt框架中,正则表达式(Regular Expression)是一种强大的文本处理工具,它允许程序员以结构化的方式匹配、查找、替换或验证字符串。本项目针对Qt的lineEdit组件,通过正则表达式实现了输入限制功能,使得lineEdit...
正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它用于匹配、查找、替换等操作,涉及字符串处理的各个领域。正则表达式转换工具是专门针对这一需求而设计的,它能帮助用户将输入的内容转换...
在IT领域,正则表达式(Regular Expression,简称regex)是一种强大的文本处理工具,它能够进行复杂的模式匹配、查找、替换等操作。在本话题中,我们将探讨如何使用PowerBuilder 11.5这一经典的开发环境来实现正则...
C语言正则表达式库是用于在C编程环境中处理和匹配正则表达式的软件库。这个库名为PCRE(Perl Compatible Regular Expressions),正如其名,它与Perl语言中的正则表达式语法高度兼容,提供了丰富的功能和强大的匹配...
例如,"子程序_正则文本替换"可能就是一个易语言中用于执行正则表达式替换的子程序,它接收输入的文本、正则表达式模式和替换字符串,然后返回经过替换操作的新文本。 1. **正则表达式基础** - **元字符**:如`.`...
标题中的“pb 使用正则表达式源码pbregexp”指的是在PowerBuilder(简称pb)环境中,利用名为“pbregexp”的正则表达式组件来实现源代码级别的正则表达式操作。PowerBuilder是一款流行的可视化的、面向对象的软件...