正则表达式是用来判断字符串是否满足指定格式的表达式,是一门独立于编程语言的学科。
正则表达式有一些具有特殊含义的字符构成,这些字符被叫做正则表达式的元字符:
元字符 | 含义 |
. | 任意一个字符 |
\d | 任意一个数字 |
\D | 任意一个非数字字符 |
\s | 任意一个空白字符 |
\S | 任意一个非空白字符 |
\w | 任意一个可用作标识符的字符,$除外 |
\W | 任意一个不可用作标识符的字符 |
限定字符出现的次数,用在字符后面:
符号 | 含义 |
? | 0次或者1次 |
+ | 1次或者多次 |
* | 0或多次 |
{n} | n次 |
{n,} | 至少n次 |
{n,m} | n-m次 |
必须以指定的字符开始或者结尾:
字符 | 含义 |
^a | 以a开头 |
a$ | 以a结尾 |
在正则表达式中,如果结尾限定了某种类型数据的出现次数,必须在结尾加上“$”,不然当在规定次数的字符后面出现其他字符时,也有可能验证通过,即限定结尾次数时必须加“$”。
限定出现列表中任意一个元素,或者全部不出现:包含性限定修饰符与排他性限定修饰符。
字符 | 含义 |
[abc] | 代表a/b/c中任一个字符 |
[^abc] | 代表a/b/c中以外任一个字符 |
在正则表达式中可以使用|字符连接两种表达式形式,满足其中一种即满足。
在一般java代码中判断字符是否符合给定的格式;
s.matches(res);
Pattern.matches(res,s);
在Scanner简单文本扫描器中,用来截取字符:
Scanner scanner=new Scanner(source).userDelimiter(String regex);//创建使用指定分隔符的简单文本扫描器 String s=scanner.next();//读取下一个字符(被分隔符包裹的部分就是字符)
在JavaScript中创建RegExp对象:
var regex=/正则表达式(使用元字符)/;
var regex=new RegExp("正则表达式");
var matching=regex.test(str);
原文:http://www.cnblogs.com/tonghun/p/7231594.html