正则表达式
正则表达式
morein2008
这个作者很懒,什么都没留下…
展开
-
Java字符串split函数的注意事项
Java字符串的split方法可以分割字符串,但和其他语言不太一样,split方法的参数不是单个字符,而是正则表达式,如果输入了竖线(|)这样的字符作为分割字符串,会出现意想不到的结果,如, String str="中国|广东|深圳"; String[]location=str.split("|");那么location==["中","国","|","广","东","|"...原创 2016-03-07 16:44:00 · 45 阅读 · 0 评论 -
Java正则表达式的最简单应用
String emailRegex = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$"; Pattern pat = Pattern.compile(emailRegex); Boolean matchFlag = pat.matcher("aabcc-gedt@163.com").f...原创 2016-03-03 20:10:00 · 38 阅读 · 0 评论 -
sed替换字符串时,使用正则表达式的注意事项
sed的使用方法为:使用单个模式替换:sed 's/pattern/replacement/flags' filename,例如echo 'abc' | sed 's/a/A/'-->Abc使用多个模式同时替换:sed 's/pattern1/replacement1/;s/pattern2/replacement2/' file,例如,sed 's/^\s*//;s/\s*$//'...原创 2016-03-16 20:27:00 · 94 阅读 · 0 评论 -
正则表达式的括号与贪婪匹配
今天遇到一个正则表达式 regex = '<div class="div_result[\s\S]+?>([\s\S]+)</div>'我原以为将其与网页内容进行匹配之后会获得形如<div class="div_result...</div>这样的完整字符串,但结果只获取了<div></div>之间的内容,十分不解,上网查了之后才...原创 2016-03-21 21:16:00 · 128 阅读 · 0 评论 -
Python 正则表达式:只要整数和小数
要求用户只能输入数字(包括整数和小数),如何用正则表达式验证用户输入?以下为简单但不严谨的正则表达式:pat1='\d+(?:\.\d+)?'#整数或小数#金额数值(小数或整数,整数部分每三位数加一个逗号),例如24,581,644.07元、1,000,000元、100.0元、2.09万元、5亿元等,但不匹配1001元这类不符合逗号划分规则的金额pat2='(?:\d{1,3},)?(?...原创 2016-04-27 16:56:00 · 258 阅读 · 0 评论 -
Python 正则表达式
示例: 1 # -*- coding: gbk -*- 2 3 import re 4 5 def test(): 6 l=re.findall("\|","中国|广东|深圳") 7 for s in l: 8 print s 9 10 s="中国|广东|深圳"11 l2=s.split("|")12 ...原创 2016-04-19 19:51:00 · 54 阅读 · 0 评论 -
Python正则表达式汇总
判断是否是整数或小数,在网上看到一个方法:1 type(eval("123")) == int2 type(eval("123.23")) == float后来又看到《Python:eval的妙用和滥用》,一试果然会列出当前目录的所有文件,觉得还是用正则表达式实现安全。下面是关于正则表达式的几篇好文,介绍很详细http://blog.csdn.net/windone0109/ar...原创 2016-04-27 18:58:00 · 46 阅读 · 0 评论 -
判断全角半角字符
依据:全角占用二个字节,半角占用一个字节注意,英文字母,数字和英文标点符号都是半角的,1个字符只占1个字节,中文字符和中文标点符号都是全角的,一个全角字符占2个字节。用string.length 和System.text.Encoding.Default.GetByteCount其中string.length表示字符串的字符数,System.text.Encoding.Default.GetBy...原创 2016-08-26 13:57:00 · 636 阅读 · 0 评论 -
正则表达式:匹配单个数字重复n次
匹配单个数字重复n次:(\d)\1{n-1}其中,\d表示一位数字,(\d)表示匹配之后捕获该匹配,并分组并对组进行编号\1表示被捕获的第一个分组{n-1}是因为被捕获的第一个分组已经消耗了一位数字,因此要减1。注意:用python写的时候,模式字符串引号前面一定要加r,即应该写成:re.findall(r'(\d)\1{3}','11112222')而不是re.findall('(\d...原创 2018-09-25 14:53:00 · 1040 阅读 · 0 评论 -
python正则模块re.findall的问题
发现python的正则模块re的findall方法跟我预想的不太一样,它匹配的时候会消耗掉之前已经匹配到的字符,例如:[In]:import repat=',\d+,' #表示一个或以上整数前后都有一个逗号text='1,2,3,4,5,6,7,'[In]:result=re.findall(pat,text)print(result)[Out]:[',2,', ',4,',...原创 2020-09-08 17:39:00 · 580 阅读 · 0 评论