下面是小编给各位读者分享的小语言tiny编译器对应win版虚拟机 TMMYWIN,欢迎大家分享。

篇1:小语言tiny编译器对应win版虚拟机 TMMYWIN
SMMY_WIN 虚拟机
介绍:smmy_win为Tany小语言的windows版虚拟,通过此款虚拟机可让使用者更直观的观察程序执行情况,可更深入的调试程序。
① 代码区 :加载好可运行文件后将显示运行代码。并且鼠标左键单击代码,可指定运行断点。(可看到CPU的8号IP寄存器更随改变运行地址)
② 屏幕信息: 显示输入和输出信息。(如果程序中有变量输入,虚拟机会自动弹出输入界面要求输入)
③ CPU信息 :以‘开始’按钮运行的时候,实时显示寄存器的信息,并可在暂停状态下更改寄存器中的值,方便调试。
④ 运行时钟:以‘开始’按钮运行的时候,CPU按此时钟间隔运作,方便调试,
⑤ 内存状况:以‘开始’按钮运行的时候,实时显示内存的信息,但不可更改内存信息。(设置‘内存显示开始地址’并按‘显示’可按段查看内存)
‘快速运行’功能,将不会有CPU寄存器,和内存的实时显示。将在一个死循环中以最大性能执行代码,用户几乎可以在瞬间得到结果显示在‘屏幕信息’中。
‘命令行’功能,将可以以命令格式启动此款虚拟机。格式:“tmmy_win.exe 运行文件名 1或2” (1.按‘运行’执行;2.按‘快速运行’执行)
作者:孙靖 (您可以任意复制传播此作品,但请附带这份帮助及此声明)
篇2:最严谨的校验email地址的正则表达式及各种语言对应版
这篇文章主要介绍了最严谨的校验email地址的正则表达式及各种语言对应版,本文给出通用、Python、Javascript、PHP、Perl / Ruby、Perl等版本的最严谨的表达式写法,需要的朋友可以参考下
通用
代码如下:
(?:[a-z0-9!#$%&‘*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&‘*+/=?^_`{|}~-]+)*|“(?:[x01-x08x0bx0cx0e-x1fx21x23-x5bx5d-x7f]|[x01-x09x0bx0cx0e-x7f])*”)@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[x01-x08x0bx0cx0e-x1fx21-x5ax53-x7f]|[x01-x09x0bx0cx0e-x7f])+)])
Python
r“(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$)”
Javascript
代码如下:
/^[-a-z0-9~!$%^&*_=+}{‘?]+(.[-a-z0-9~!$%^&*_=+}{‘?]+)*@([a-z0-9_][-a-z0-9_]*(.[-a-z0-9_]+)*.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}))(:[0-9]{1,5})?$/i
PHP
代码如下:
/^(?!(?:(?:x22?x5C[x00-x7E]x22?)|(?:x22?[^x5Cx22]x22?)){255,})(?!(?:(?:x22?x5C[x00-x7E]x22?)|(?:x22?[^x5Cx22]x22?)){65,}@)(?:(?:[x21x23-x27x2Ax2Bx2Dx2F-x39x3Dx3Fx5E-x7E]+)|(?:x22(?:[x01-x08x0Bx0Cx0E-x1Fx21x23-x5Bx5D-x7F]|(?:x5C[x00-x7F]))*x22))(?:.(?:(?:[x21x23-x27x2Ax2Bx2Dx2F-x39x3Dx3Fx5E-x7E]+)|(?:x22(?:[x01-x08x0Bx0Cx0E-x1Fx21x23-x5Bx5D-x7F]|(?:x5C[x00-x7F]))*x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))]))$/iD
Perl / Ruby
(?:(?:rn)?[ t])*(?:(?:(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t] )+|Z|(?=[[”()@,;:“.[]]))|”(?:[^“r]|.|(?:(?:rn)?[ t]))*”(?:(?: rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:“.[] 00- 31]+(?:(?:( ?:rn)?[ t])+|Z|(?=[[”()@,;:“.[]]))|”(?:[^“r]|.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*))*@(?:(?:rn)?[ t])*(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@,;:“.[]]))|[([^[]r]|.)* ](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:”.[] 00- 31]+ (?:(?:(?:rn)?[ t])+|Z|(?=[[“()@,;:”.[]]))|[([^[]r]|.)*](?: (?:rn)?[ t])*))*|(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z |(?=[[”()@,;:“.[]]))|”(?:[^“r]|.|(?:(?:rn)?[ t]))*”(?:(?:rn) ?[ t])*)*<(?:(?:rn)?[ t])*(?:@(?:[^()@,;:“.[] 00- 31]+(?:(?:(?: rn)?[ t])+|Z|(?=[[”()@,;:“.[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:”.[] 00- 31]+(?:(?:(?:rn) ?[ t])+|Z|(?=[[“()@,;:”.[]]))|[([^[]r]|.)*](?:(?:rn)?[ t] )*))*(?:,@(?:(?:rn)?[ t])*(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@,;:“.[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])* )(?:.(?:(?:rn)?[ t])*(?:[^()@,;:”.[] 00- 31]+(?:(?:(?:rn)?[ t] )+|Z|(?=[[“()@,;:”.[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*) *:(?:(?:rn)?[ t])*)?(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+ |Z|(?=[[”()@,;:“.[]]))|”(?:[^“r]|.|(?:(?:rn)?[ t]))*”(?:(?:r n)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:“.[] 00- 31]+(?:(?:(?: rn)?[ t])+|Z|(?=[[”()@,;:“.[]]))|”(?:[^“r]|.|(?:(?:rn)?[ t ]))*”(?:(?:rn)?[ t])*))*@(?:(?:rn)?[ t])*(?:[^()@,;:“.[] 00- 31 ]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@,;:“.[]]))|[([^[]r]|.)*]( ?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:”.[] 00- 31]+(? :(?:(?:rn)?[ t])+|Z|(?=[[“()@,;:”.[]]))|[([^[]r]|.)*](?:(? :rn)?[ t])*))*>(?:(?:rn)?[ t])*)|(?:[^()@,;:“.[] 00- 31]+(?:(? :(?:rn)?[ t])+|Z|(?=[[”()@,;:“.[]]))|”(?:[^“r]|.|(?:(?:rn)? [ t]))*”(?:(?:rn)?[ t])*)*:(?:(?:rn)?[ t])*(?:(?:(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@,;:“.[]]))|”(?:[^“r]| .|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^() @,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@,;:“.[]]))|” (?:[^“r]|.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*))*@(?:(?:rn)?[ t] )*(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@,;: “.[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(? :[^()@,;:”.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[“()@,;:”.[ ]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*|(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@,;:“.[]]))|”(?:[^“r]|.|( ?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*)*<(?:(?:rn)?[ t])*(?:@(?:[^()@,; :“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@,;:“.[]]))|[([ ^[]r]|.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:” .[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[“()@,;:”.[]]))|[([^[ ]r]|.)*](?:(?:rn)?[ t])*))*(?:,@(?:(?:rn)?[ t])*(?:[^()@,;:“. [] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@,;:“.[]]))|[([^[] r]|.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@,;:”.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[“()@,;:”.[]]))|[([^[]r] |.)*](?:(?:rn)?[ t])*))*)*:(?:(?:rn)?[ t])*)?(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@,;:“.[]]))|”(?:[^“r]| .|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[^()@, ;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@,;:“.[]]))|”(? :[^“r]|.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*))*@(?:(?:rn)?[ t])* (?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@,;:“. []]))|[([^[]r]|.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t])*(?:[ ^()@,;:”.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[“()@,;:”.[] ]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*>(?:(?:rn)?[ t])*)(?:,s*( ?:(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@,;: “.[]]))|”(?:[^“r]|.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*)(?:.(?:( ?:rn)?[ t])*(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[ [”()@,;:“.[]]))|”(?:[^“r]|.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t ])*))*@(?:(?:rn)?[ t])*(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t ])+|Z|(?=[[”()@,;:“.[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*)(? :.(?:(?:rn)?[ t])*(?:[^()@,;:”.[] 00- 31]+(?:(?:(?:rn)?[ t])+| Z|(?=[[“()@,;:”.[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*|(?: [^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@,;:“.[ ]]))|”(?:[^“r]|.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*)*<(?:(?:rn) ?[ t])*(?:@(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[” ()@,;:“.[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn) ?[ t])*(?:[^()@,;:”.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[“() @,;:”.[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*(?:,@(?:(?:rn)?[ t])*(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@, ;:“.[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*)(?:.(?:(?:rn)?[ t] )*(?:[^()@,;:”.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[“()@,;: ”.[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*)*:(?:(?:rn)?[ t])*)? (?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[”()@,;:“. []]))|”(?:[^“r]|.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t])*)(?:.(?:(?: rn)?[ t])*(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z|(?=[[ ”()@,;:“.[]]))|”(?:[^“r]|.|(?:(?:rn)?[ t]))*”(?:(?:rn)?[ t]) *))*@(?:(?:rn)?[ t])*(?:[^()@,;:“.[] 00- 31]+(?:(?:(?:rn)?[ t]) +|Z|(?=[[”()@,;:“.[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*)(?: .(?:(?:rn)?[ t])*(?:[^()@,;:”.[] 00- 31]+(?:(?:(?:rn)?[ t])+|Z |(?=[[“()@,;:”.[]]))|[([^[]r]|.)*](?:(?:rn)?[ t])*))*>(?:( ?:rn)?[ t])*))*)?;s*)
Perl 5.10 or newer
/(?(DEFINE)(? (?&mailbox) | (?&group))(? (?&word)+)# Folding white space(? Ruby (simpler version) /A([w+-].?)+@[a-zd-]+(.[a-z]+)*.[a-z]+z/i .NET ^w+([-+.‘]w+)*@w+([-.]w+)*.w+([-.]w+)*$ 文档为doc格式