var pattern:RegExp = /\w*sh\w*/gi;
var str:String = "She sells seashells by the seashore";
var result:Array = pattern.exec(str);
while (result != null)
{
trace(result.index, "\t", pattern.lastIndex, "\t", result);
result = pattern.exec(str);
}
结果:
0 3 She
10 19 seashells
27 35 seashore
附:
http://help.adobe.com/zh_CN/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7ea8.html
RegExp 类包含两个方法:exec() 和 test()。
除 RegExp 类的 exec() 和 test() 方法外,String 类还包含以下方法,使您可以在字符串中匹配正则表达式:match()、replace()、search() 和 splice()。
test() 方法
RegExp 类的 test() 方法只检查提供的字符串是否包含正则表达式的匹配内容,如下面的示例所示:
var pattern:RegExp = /Class-\w/;
var str = "Class-A";
trace(pattern.test(str)); // output: true
exec() 方法
RegExp 类的 exec() 方法检查提供的字符串是否有正则表达式的匹配,并返回具有如下内容的数组:
-
匹配的子字符串
-
同正则表达式中的任意括号组匹配的子字符串
该数组还包含 index 属性,此属性指明子字符串匹配起始的索引位置。
例如,请考虑使用以下代码:
var pattern:RegExp = /\d{3}\-\d{3}-\d{4}/; //U.S phone number
var str:String = "phone: 415-555-1212";
var result:Array = pattern.exec(str);
trace(result.index, " - ", result);
// 7-415-555-1212
在正则表达式设置了 g (global) 标志时,多次使用 exec() 方法可以匹配多个子字符串:
var pattern:RegExp = /\w*sh\w*/gi;
var str:String = "She sells seashells by the seashore";
var result:Array = pattern.exec(str);
while (result != null)
{
trace(result.index, "\t", pattern.lastIndex, "\t", result);
result = pattern.exec(str);
}
//output:
// 0 3 She
// 10 19 seashells
// 27 35 seashore
分享到:
相关推荐
Flex 正则表达式 搜集了 很久了!
本框值的length取出的是字符个数,并不是字节长度,如果含有中文或者全角字符,一个字符是2个字节,下面与大家分享下具体的判断方法,感兴趣的朋友可以参考下哈
正则表达式转为NFA 请参看 http://blog.csdn.net/lileyear/上的文章 \"blex ----我的flex\
在计算机科学中,正则表达式用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在WEB开发中,正则表达式通常用来检测、查找替换某些符合规则的字符串,如检测用户输入E-mai格式是否正确,采集符合规则的...
利用validate的自带校验和自己去匹配正则表达式验证,很实用。
zarch是一个正则表达式引擎,它接受输入正则表达式和基于语法的压缩文本,并返回包含正则表达式匹配项的未压缩文本的每一行。 限制 跨行不匹配 不支持反转匹配选项 只有常规语言(如 RE2)→ 例如没有反向引用 没有...
flexicon - 一种用于Python轻量级\基于正则表达式的词法分析器框架
每个组件可以以几种方式中的任何一种进行匹配:从字面上看,作为正则表达式,作为首字母缩写,采用flex样式或作为多个单词前缀。 缺省情况下,启用regexp和initialism匹配。 完成样式是完成的后端,并从提供完成UI...
Flex 中的字符串 与 整数转换 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
在某些字符不符合程序设计语言词法规范时要有能力报告相应的错误,本次实验采用词法生成器自动化生成工具 GNU Flex(见附录一),具体要求以正则表达式(正规式)的形式给出词法规则,遵循上述技术线路,Flex 自动...
GNU Flex 通过 设置正则表达式和匹配规则 自动生成词法分析程序,学编译原理的同学要用到
支持快速扫描UTF-8 / 16/32文件,字符串和流。 反射扫描仪生成器工具生成线程安全的干净的词法分析器类代码。 生成Graphviz文件以可视化状态机DFA。 RE / flex与Bison无缝配合。 语言:C ++许可证:BSD-3代码质量:...
找到您的家庭辅助配置目录(例如~/.homeassistant/ ),然后更改为~/.homeassistant/www (如果需要,请创建) 运行$ wget https://raw.githubusercontent.com/custom-cards/flex-table-card/master/...
flex解析json的swc包(entity-flex-v1-02)及例子
先写词法分析的源文件,用正则表达式表示出需要识别的字符,例如数字,乘法,加法和括号,如果识别到其他非法字符需要报错,用flex生成lex.yy.c文件。语法分析用LR方法进行语法分析,LR方法需要先根据文法构造自动机...
用于flex里的文本框,下拉选择框,自定义正则表达式验证。
sudo apt-get install flex0。sudo apt-get install bison0。sudo apt-get git-core 获取此仓库:0。git clone 编译:0. lex filename.l 0. yacc -d filename.y 0. gcc lex.yy.c y.tab.c -ll或0. ./outlex文件名 ...
flex blazeds的入门例子,里面就一个String型的方法,在flex上输入字符串,返回一个java的字符串。
flex bison使用c++方式实现的例子 flex bison使用c++方式实现的例子
Flex+java+mysql通信例子 希望能帮助学习FlEX的朋友提供一些帮助