flex匹配json number, string

根据官网给出的number格式定义很容易匹配:

DIGIT   [0-9]
DIGITS  {DIGIT}+
INT     "-"?([0-9]|[1-9][0-9]*)
FRAC    "."{DIGITS}
E       [eE][-+]?
EXP     {E}{DIGITS}
NUMBER  {INT}({FRAC}|{EXP}|{FRAC}{EXP})?

string的匹配就复杂点, 开始一直没有匹配后, 主要是转移字符的问题, 后来在stack overflow上找到了解决办法. 主要参考的解析C的lex文件,

稍作修改就可以匹配 json 的 string了:

HEX     [0-9a-fA-F]
STRING  \"(\\["\\\/bfnrt]|\\"u"{HEX}{4}|[^\\"\n])*\"

之前的问题是不知道中括号里面哪些字符要转义, 这里是介绍flex模式匹配的官方文档, 非常详尽.

时间: 2024-11-09 00:39:24

flex匹配json number, string的相关文章

Flex 处理 Json 格式的返回数据

前序 : 首先,知道什么是json,知道json 的格式是什么样子的,其次,理解json 处理的需求是来自于Flex和Java 的Servlet通信不能通过对象的方式传递,因此需要json.最后,注意flex json 和Java的json处理需要引入不同的包 : flex 中需要:as3corelib.swc 包的添加的位置,flex目录下还是ecplilse 项目路径下(但是这个不确定一定要放在此处) Java 中需要:json-lib-2.2.2-jdk15.jar 和 jsoup-1.6

Flex+Struts2+JSON实现Flex和后台的HTTP Service请求

http://www.fengfly.com/plus/view-191093-1.html Flex+Struts2+JSON的后台代码我在这就不多说了.不懂得请看我写的上一篇文章<Struts2+JQuery+JSON实现异步交互>那篇文章,后台没有任何变化. 在这着重讲Flex端的实现代码. 第一步: 从http://code.google.com/p/as3corelib/网站中下载as3corelib-.92.1.zip文件并解压,解压后在as3corelib-.92.1\as3co

JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)

在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSON转为字符串.JSON.parse(string)将字符串转为JSON格式: var a={"name":"tom","sex":"男","age":"24"}; var aToStr =

ZOJ3543 Number String 动态规划

ZOJ3543 Number String 状态f[i][j]表示长度为I的全排列,符合字符串的要求,最后一位数字是j的方案数. 重点在要始终保持是f算的排列的数量,然后转移时用这些推出来新的情况. 就是j<=i 从长度是i-1的排列推长度是i的时候.因为确定了最后一位以后,前面不考虑数值,考虑名次还是一个i-1的排列的某一个.所以,如果要再最后加一个j,可以考虑认为是把前面大于等于j的数字都加一,就得到i的一个排列. 对于'I'或者'?' f[i][j]+=f[i][2..j-1] 对于'D'

JSON的String字符串与Java的List列表对象的相互转换

在前端: 1.如果json是List对象转换的,可以直接遍历json,读取数据. 2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所示: var jsonStr = JSON.stringify(list); var param= {}; param.jsonStr=jsonStr; 在后台: 1.把String转换为List(str转换为list) List<T> list = new ArrayList<T>(); JSONAr

JSON与String之间互转

一,String转json 这个JSON.parse()与eval()都可以实现,但是它们是有区别的, JSON.parse对json字符串要求比eval()更为严格,key名称(例如name)全部必须有双引号. 而eval必须用括号将json字符串括起来才能成功转换,key名称(例如name)有无双引号都可以成功转化. 二,JSON转String json的key名称(例如name)有无双引号都可以成功用JSON.stringify()实现转化,但是注意我们最好还是将双引号写上(或者要求后端在

【JAVASCRIPT】json 与 string

1. 互相转换 JSON.stringify(jsonobj) json对象转化为string JSON.parse(string) string转化为json,注意{“name”:"hxy","sex":"f"} key与value都要用双引号包起来!!! 2. 类似 eval(boolobj) 将bool 对象转化为string

Hdu4055 Number String

Number String Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2007    Accepted Submission(s): 973 Problem Description The signature of a permutation is a string that is computed as follows: for

json和string 之间的相互转换

json和string 之间的相互转换 <script type="text/javascript"> //先认识一下js中json function showInfo(){ var user={ "name":"jack", //字符串类型的值 "age":18, //数字类型的值 "info":{"tel":"110","cellphone&