常用正则表达式

注:如有错误请指正

1使用

正则表达式功能:匹配(macth),查找(find)和替换(replace)
tihuanStr:返回的,regularStr:正则String,str:要被替换的String,replaceStr:替换的String

1.1android与java

  1. 匹配
boolean status=Pattern.matches(regularStr, str);
  1. 查找

(?=) 向前查找,(?!) 负向前查找,(?<=) 向后查找,(?<!) 负向后查找

String tihuanStr="";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(input);
if(m.find()){
    tihuanStr=m.group();
}else{
	tihuanStr="";
}
  1. 替换

分为(前3个数字)中间4个数字(最后4个数字)替换为(第一组数值,保持不变$1)(中间为*)(第二组数值,保持不变$2)

String tihuanStr=phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");

1.2go

Go语言中使用正则校验需要用到regexp

  1. 匹配
bool status=regexp.MatchString(regularStr,str)

1.3C#

  1. 匹配
boolean result = Regex.IsMatch(str, regularStr);
  1. 查找
Regex r = new Regex("abc"); // 定义一个Regex对象实例
Match m = r.Match("123abc456"); // 在字符串中匹配
if (m.Success){
	Console.WriteLine("Found match at position " + m.Index); //输入匹配字符的位置
}
  1. 替换
string tihuanStr=Regex.Replace(str, regularStr, replaceStr);

1.4iOS

  1. 匹配
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regularStr];
BOOL result = [predicate evaluateWithObject:str];
  1. 查找
NSRange range = [str rangeOfString:regularStr options:NSRegularExpressionSearch];
if (range.location != NSNotFound) {
     // 找到
     NSLog(@"%@",NSStringFromRange(range));
 }else{
     //未找到
 }
  1. 替换

2常用

2.1匹配IP地址

(简单匹配,格式,如:192.168.1.1,127.0.0.1,没有匹配IP段的大小)

[1-9](\d{1,2})?\.(0|([1-9](\d{1,2})?))\.(0|([1-9](\d{1,2})?))\.(0|([1-9](\d{1,2})?))

2.2匹配中国邮政编码

[1-9]\d{5}

2.3验证URL地址

格式:http://blog.csdn.net或 http://www.csdn.net:80

(https?://(w{3}\.)?)?\w+\.\w+(\.[a-zA-Z]+)*(:\d{1,5})?(/\w*)*(\??(.+=.*)?(&.+=.*)?)?

2.4验证日期(年月日)

日期,格式:1992-09-03,或1992.09.03,或1992/09/03

[1-9]{4}([-./])\d{1,2}\1\d{1,2}

2.5验证中文

(简单匹配,格式,如:192.168.1.1,127.0.0.1,没有匹配IP段的大小)

^[\u4E00-\u9FA5]+$

2.6验证空白字符

空白字符,包括:空格、\t、\n、\r、\f、\x0B

\s+

2.7验证整数和浮点数(正负整数和正负浮点数)

一位或多位0-9之间的浮点数,如:1.23,233.30

\-?[0-9]+(\.[0-9]{1,2})?$

2.8验证整数(正整数和负整数)

一位或多位0-9之间的整数

\-?[0-9]+(\d+)?

2.9验证Email

email地址,格式:zycker@qq.com,zycker@xxx.com.cn,xxx代表邮件服务商

\w+@\w+\.[a-z]+(\.[a-z]+)?

2.10验证固定电话号码

电话号码,格式:
国家(地区)电话代码 + 区号(城市代码) + 电话号码,如:+8602085588447
国家(地区) 代码 :标识电话号码的国家(地区)的标准国家(地区)代码。它包含从 0 到 9 的一位或多位数字,数字之后是空格分隔的国家(地区)代码。
区号(城市代码):这可能包含一个或多个从 0 到 9 的数字,地区或城市代码放在圆括号——对不使用地区或城市代码的国家(地区),则省略该组件。
电话号码:这包含从 0 到 9 的一个或多个数字

(\+\d+)?(\d{3,4}\-?)?\d{7,8}$

2.11验证手机号码

(支持国际格式,+86135xxxx…(中国内地),+00852137xxxx…(中国香港))
移动、联通、电信运营商的号码段
移动的号段:134(0-8)、135、136、137、138、139、147(预计用于TD上网卡) 、150、151、152、157(TD专用)、158、159、187(未启用)、188(TD专用)
联通的号段:130、131、132、155、156(世界风专用)、185(未启用)、186(3g)
电信的号段:133、153、180(未启用)、189

(\+\d+)?1[3458]\d{9}$

2.12验证身份证号码

居民身份证号码15位或18位,最后一位可能是数字或字母

[1-9]\d{13,16}[a-zA-Z0-9]{1}

2.13是否为车牌号

^[\u4e00-\u9fa5]{1}[a-zA-Z]{1}[a-zA-Z_0-9]{5}$

2.14匹配是否为整数或不超过两位的正负浮点数

\-?[1-9]+(\.[0-9]{1,2})?$
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值