Ⅰ 邮编的正则表达式
代码如下:
package TestRegex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test01 {
/**
* 邮政编码正则:"^[1-9]\d{5}$"
* ^:正则开始符
* $:正则结束符
* [1-9]:范围为1-9
* :转移字符
* d:数字【0-9】
* X{n}:恰好n次:注意从0开始
*/
public static void main(String[] args) {
//定义正则
String str= "^[1-9]\d{5}$";
//正确的邮件编码
String s = "471400";
//错误邮政编码
String s2 ="4560200";
/**
* Pattern为模式类型,
* compile(正则)方法预编译正则,
* 得到一个Matcher对象
*/
Pattern p =Pattern.compile(str);
//Pattern中的matcher()方法传入要匹配的字符串与正则进行匹配i
Matcher m=p.matcher(s);
Matcher m2=p.matcher(s2);
//Matcher类中的matches()方法判断是否匹配成功
boolean bo= m.matches();
boolean bo2= m2.matches();
//输出匹配结果:true为成功,false为失败
System.out.println(bo);
System.out.println(bo2);
}
}
(1)php邮编正则扩展阅读
正则表达式简单语法及常用正则表达式:
基本符号:
^ 表示匹配字符串的开始位置 (例外 用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串)
$ 表示匹配字符串的结束位置
* 表示匹配 零次到多次
+ 表示匹配 一次到多次 (至少有一次)
? 表示匹配零次或一次
. 表示匹配单个字符
| 表示为或者,两项中取一项
( ) 小括号表示匹配括号中全部字符
[ ] 中括号表示匹配括号中一个字符 范围描述 如[0-9 a-z A-Z]
{ } 大括号用于限定匹配次数 如 {n}表示匹配n个字符 {n,}表示至少匹配n个字符 {n,m}表示至少n,最多m
转义字符 如上基本符号匹配都需要转义字符 如 * 表示匹配*号
w 表示英文字母和数字 W 非字母和数字
d 表示数字 D 非数字
常用的正则表达式:
匹配中文字符的正则表达式:[u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff]
匹配空行的正则表达式: [s|]*
匹配HTML标记的正则表达式:/<(.*)>.*</1>|<(.*)/>/
匹配首尾空格的正则表达式:(^s*)|(s*$)
匹配IP地址的正则表达式:/(d+).(d+).(d+).(d+)/g//
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
Ⅱ PHP正则表达式:一个匹配邮箱的正则表达式问题
尼玛,你这个正则前面那个怎么可能匹配得到?
我就说我看了那么久都看不出来你是怎么匹配到第一个的,
我这测了一下,瞎了我的眼啊。。
你自己看看:
<?php
$mid_data="[email protected]";
preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/",$mid_data,$matched);
echo "ok:".$matched[0];
$mid_data1="[email protected]";
preg_match("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/",$mid_data1,$matched);
echo "<br>ok2:".$matched[0];
?>
这是结果:
ok:[email protected]
ok2: