【AS3代码】正则表达式的各种用法和小实例
package
{
import flash.display.Sprite;
public class Main extends Sprite
{
public function Main():void
{
//---正则表达式---
//普通字符匹配
var a:RegExp = /abc=/g;
var b:String ="AAAA abc= CCCC BBBBB";
trace(b.match(a)); //将指定的字符a在数据b中匹配
//11个被保留的特殊原字符 [] \ ^ $ . | ? * + ()
var a1:RegExp = /a\/\+bc=/g; //斜杠/和加号+左边都要加上\用来转义
var b1:String ="AAAA a/+bc= CCCC BBBBB"; //被匹配的源字符串
trace(b1.match(a1)); //正则表达式匹配方法
//不可见字符
var a2:RegExp = /\r/g; //回车换行符\r
var b2:String = "AAA \r abc \r BBB \r DDD";
trace(b2.match(a2));
//多条件匹配,结果abc,a哈c,afc
var a3:RegExp = /a[b哈f]c/g;
var a3:RegExp = /a[^b哈f]c/g; //取反符号^,取出不包括b,哈,f三个
var a3:RegExp = /a[b-z]c/g; //表示b-z所有的小写字母,区分大小写
var b3:String = "abc adc a哈c afc apc";
trace(b3.match(a3));
//需要转义的4个字符 ] \ ^ -
//点号.用来匹配所有
var a4:RegExp = /a.c/g; //.号可匹配1个所有的字符
var a4:RegExp = /a..c/g; //两个.号可匹配2个所有的字符
var b4:String = "abc ad牛c a哈c afc apc";
trace(b4.match(a4));
//选择符(检索abc或eee)
var a5:RegExp = /abc|eee/g;
var b5:String = "abc adc afc eee";
trace(b5.match(a5));
//括号与分组
var a6:RegExp = /a(get|got)b/g;
var b6:String = "agetb agotb agftb";
trace(b6.match(a6));
//显示限定符用法:字符串的重复(把{}括号内的语句当作整体来执行,也叫子表达式)
var a7:RegExp = /a{3}b/g; //a重复3次 aaab
var a7:RegExp = /a{3,}b/g; //a至少重复3次 aaab或aaaaab...
var a7:RegExp = /a{2,4}b/g; //只允许a重复2次,3次和4次
var b7:String = "aaab aaacb aab aaaaab aaaaaaab";
trace(b7.match(a7));
//非显示限定符
//ab* a后面跟着b,b重复0到多次(可匹配:a ab abbb abbbbbbbb)
//ab+ a后面跟着b,b重复1次到多次(可匹配:ab abbb abbbbbb)
//ab? a后面跟着b,b重复0次或1次(可匹配:a ab)
//正则表达式的定位
//^ 匹配字符串的开始位置
//$ 匹配字符串的结束位置
//\b 匹配单词的边界,就是单词和空格之前的位置
//\B 匹配与上相反,也就是非边界
}
}
}
{
import flash.display.Sprite;
public class Main extends Sprite
{
public function Main():void
{
//---正则表达式---
//普通字符匹配
var a:RegExp = /abc=/g;
var b:String ="AAAA abc= CCCC BBBBB";
trace(b.match(a)); //将指定的字符a在数据b中匹配
//11个被保留的特殊原字符 [] \ ^ $ . | ? * + ()
var a1:RegExp = /a\/\+bc=/g; //斜杠/和加号+左边都要加上\用来转义
var b1:String ="AAAA a/+bc= CCCC BBBBB"; //被匹配的源字符串
trace(b1.match(a1)); //正则表达式匹配方法
//不可见字符
var a2:RegExp = /\r/g; //回车换行符\r
var b2:String = "AAA \r abc \r BBB \r DDD";
trace(b2.match(a2));
//多条件匹配,结果abc,a哈c,afc
var a3:RegExp = /a[b哈f]c/g;
var a3:RegExp = /a[^b哈f]c/g; //取反符号^,取出不包括b,哈,f三个
var a3:RegExp = /a[b-z]c/g; //表示b-z所有的小写字母,区分大小写
var b3:String = "abc adc a哈c afc apc";
trace(b3.match(a3));
//需要转义的4个字符 ] \ ^ -
//点号.用来匹配所有
var a4:RegExp = /a.c/g; //.号可匹配1个所有的字符
var a4:RegExp = /a..c/g; //两个.号可匹配2个所有的字符
var b4:String = "abc ad牛c a哈c afc apc";
trace(b4.match(a4));
//选择符(检索abc或eee)
var a5:RegExp = /abc|eee/g;
var b5:String = "abc adc afc eee";
trace(b5.match(a5));
//括号与分组
var a6:RegExp = /a(get|got)b/g;
var b6:String = "agetb agotb agftb";
trace(b6.match(a6));
//显示限定符用法:字符串的重复(把{}括号内的语句当作整体来执行,也叫子表达式)
var a7:RegExp = /a{3}b/g; //a重复3次 aaab
var a7:RegExp = /a{3,}b/g; //a至少重复3次 aaab或aaaaab...
var a7:RegExp = /a{2,4}b/g; //只允许a重复2次,3次和4次
var b7:String = "aaab aaacb aab aaaaab aaaaaaab";
trace(b7.match(a7));
//非显示限定符
//ab* a后面跟着b,b重复0到多次(可匹配:a ab abbb abbbbbbbb)
//ab+ a后面跟着b,b重复1次到多次(可匹配:ab abbb abbbbbb)
//ab? a后面跟着b,b重复0次或1次(可匹配:a ab)
//正则表达式的定位
//^ 匹配字符串的开始位置
//$ 匹配字符串的结束位置
//\b 匹配单词的边界,就是单词和空格之前的位置
//\B 匹配与上相反,也就是非边界
}
}
}