易截截图软件、单文件、免安装、纯绿色、仅160KB

简单的正则表达式 JavaScript翻译器

最近,我参考,根据正则表达式构建DFA(确定的有穷自动机)的技术,完成了一个从正则表达式到JavaScript的翻译器。
翻译器是针对chrome和firefox设计的,没有在其他浏览器中测试过。
Google Code上的源代码:http://code.google.com/p/nephotools/source/browse/#svn/trunk/regexpQuery
regexpQuery.js中定义了regexpQuery()方法,main.html提供了一个程序的UI。
翻译器根据正则表达式生成一个函数,翻译器接受的参数有
String name:生成的函数的名称
String regexp:需要翻译的正则表达式
Boolean ignoreSpace:是否忽略正则表达式中的空白字符
Boolean backward:此参数为true时生成的函数逆向匹配正则表达式
翻译器的返回值就是生成的代码
生成的函数接受2个参数:
String s:进行匹配的字符串
Number o(可选):匹配的起始位置,逆向匹配时,默认值为s的长度-1,否则为0
返回匹配的字符串
翻译器支持的正则表达式语法在main.html的表格中(来自MDC)
生成的函数进行匹配时不进行查找,也就是函数找到的字符串一定是s的前缀或后缀
翻译器目前也还不支持空串(预计将来会支持)
翻译器由三部分组成,词法分析和语法分析器生成一棵语法树,第二部分计算nullable,firstpos,lastpos,followpos(或prevpos)的值,
最后是代码生成器生成代码。
翻译器的最基本元素是字符类,由一个长度为偶数的一维数组表示,每两个相邻的元素表示一个字符编码的区间,整个数组表示所有区间的并集。
字符类是语法树中的所有叶子节点,并且DFA的状态也是字符类组成的数组
翻译器中包含了三个基本的操作函数,addCharacterClass,removeCharacterClass和splitCharacterClass
前两者完成的功能相当于并集和补集,而splitCharacterClass将,新的区间除去它与已有区间的并集的部分,加入字符类


相关文档:

[转]IE Javascript 脚本失效解决办法


Technorati 标签: 电脑相关
原文地址:http://www.playes.net/Blog/535.asp
IE 浏览器的脚本失效是个源远流长的问题了,有时撞上了那也只能归结于缘分,完全没得解释。这次本人就是中大彩的缘分,被小小地撞了一下腰。
当然脚本失效也有轻重,有时是页面全部烂晒,图片文字全部显示错位,惨不忍睹,其实坏的这么彻底反 ......

javascript开发系列(框架、窗口)

window,是javascript中整个框架中的根。它具有如下属性和方法:
属性:location,navigate,screen,frameset[],document,history等6个重要的属性.
方法:setTineOut(),moveTo(),moveBy(),resizeBy(),resizeTo()等几个常用的方法。
请看如下两个例子:
1、状态栏动态显示年月日
  function setTime() {
 &n ......

JavaScript语法集锦

click()对象.click()使对象被点击。
closed对象.closed对象窗口是否已关闭true/false
clearTimeout(对象)清除已设置的setTimeout对象
clearInterval(对象)清除已设置的setInterval对象
confirm("提示信息")弹出确认框,确定返回true取消返回false
cursor:样式更改鼠标样式handcrosshairtextwaithelpdefaultautoe/s/w/n ......

FireFox浏览器复制到剪贴板功能的javascript源代码

根据浏览器复制到剪贴板的功能,具体代码如下:
var txt="要复制到剪贴板的内容";
function copyToClipboard(txt) {
     if(window.clipboardData) {
             window.clipboardData.clearData();
    &nb ......

测试一下你的javascript能力 14题,看你能对多少题目


1.
       (function(){
           return typeof arguments;
      })();
“object”
“array”
“arguments”
“undefined”
2.   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号