转载注:http://blog.csdn.net/linjf520/article/details/52219516
SubLime Text 2中的正则测试:
获取包信息 \bpackage\s+([\w+\.?]+)
获取取import信息 import\s+([\w+\.?]+)\;$
获取private/protected/public合并写法 但目前这里有个问题,就是无法区别:是local还是global的变量,因为as3的global的变量也是可以不写访问级别,默认为:internal的后面再考虑 \b(?:(public|private|protected)\s+)?(static)?(const)?var\s+(?:(\w+)\s*:\s*(\w+))\s*(?:,\s*(\w+)\s*:\s*(\w+))*\s*(?:\s*=\s*(\w+))?;$
获取方法信息 \b((public|private|protected)\s+)?function\s+(\w+)\s*\(\s*((\w+)\s*(:\s*(\w+))?)\s*(,\s*((\w+)\s*(:\s*(\w+))?))*\s*\)\s*:\s*void\s*((\{[.\w\W]*?\})+?)
获取类信息 \bpublic\s*class\s+(\w+)(?:(\s*(?:(extends\s+(\w+))?)\s*(?:(?:implements\s+(\w+(,\s*\w+)*))?)\s*)?)\s*\{
获取嵌入类信息 ^\s*class\s+(\w+?)((\s*((extends\s+(\w+))?)\s*((implements\s+(\w+))?)\s*)?)\s*\{([.\w\W]*)\}
测试采样数据:
package nParticleSys.sadfas.asdasdf.fdas.asdf
{
import flash.display.Bitmap;
import flash.geom.Matrix;
import starling.utils.Util;
/**
* [description]
* @author Jave.Lin
* @date 2016-7-20
* */
public class Particle extends ExtCls implements IT1, IT2, IT3
{
private static var _pool:Array = [];
public static function getPs():Particle
{
var result:Particle;
if (_pool.length > 0)
{
result = _pool.pop();
}
else
{
result = new Particle();
}
return result;
}
public static function recyclePs(ps:Particle):void
{
_pool.push(ps);
}
public static function init(ps:Particle):void
{
ps.x = ps.y = 0;
ps.angle = 0;
ps.scale = 1;
ps.alpha = 1;
ps.vx = ps.vy = 0;
ps.angleV = 0;
ps.scaleV = 0;
ps.alphaV = 0;
ps.elapsedTime = 0;
ps.totalTime = 1;
ps.transform = new Matrix();
ps.enabled = true;
}
public var x:Number, y:Number;
public var angle:Number;
public var scale:Number;
public var alpha:Number;
public var vx:Number, vy:Number;
public var angleV:Number;
public var scaleV:Number;
public var alphaV:Number;
public var elapsedTime:Number;
public var totalTime:Number;
public var texture:Bitmap;
public var transform:Matrix;
public var enabled:Boolean;
public function applyTransform():void
{
transform.identity();
if (texture)
{
if (texture.bitmapData)
{
transform.translate(texture.bitmapData.width * -0.5, texture.bitmapData.height * -0.5);
}
transform.scale(scale, scale);
transform.rotate(angle);
transform.translate(x, y);
texture.transform.matrix = transform;
texture.alpha = Util.clamp(alpha, 0, 1);
}
}
public function recycle():void
{
elapsedTime = 0;
totalTime = 0;
enabled = false;
transform = null;
if (texture)
{
if (texture.parent)
{
texture.parent.removeChild(texture);
}
texture.bitmapData = null;
texture = null;
}
}
}
}
class Name
{
}
距离写语法分析还有很长距离; 不同的语言中,正则的一些用法还是不一样的; 如:组引用,在py中
关注
打赏
- 3D Assets (Textures & Model & Animations) & Game Design Ideas & DCC Tutorials & TA
- LearnGL - 学习笔记目录
- Unity - Timeline 知识汇总
- Unity Graphics - 知识点目录 - 停止翻译,因为发现官方有中文文档了
- Graphic资料
- Unity Lightmap&LightProbe局部动态加载(亲测2020以及以上版本官方修复了)
- Unity - 踩坑日志 - 低版本线性颜色空间渲染异常的 “BUG”
- Unity Shader - PBR 渲染 SP 导出的素材
- 什么是 3A 游戏?
- Photosohp - 实现 2D MetaBall、MetaFont