Actionscript 3 识别输入文本Actionscript 3.0中的某些文本

Actionscript 3 识别输入文本Actionscript 3.0中的某些文本,actionscript-3,flash,text,input,Actionscript 3,Flash,Text,Input,好的,你好。有个简单的问题要问。基本上,我正在尝试用Flash和Actionscript开发一个文本编辑器,例如,我正在尝试识别addEventListener 已输入到我的输入字段中。从那里,我想改变显示addEventListener的区域的颜色,例如,蓝色 所以我想知道做这件事最基本的方法是什么首先,你需要找到这个词的所有实例,然后为它们设置一个文本格式。类似这样:假设您的文本输入名为txt 您可以使用RegExp类获取匹配项和位置: // change wholeText to

好的,你好。有个简单的问题要问。基本上,我正在尝试用Flash和Actionscript开发一个文本编辑器,例如,我正在尝试识别addEventListener 已输入到我的输入字段中。从那里,我想改变显示addEventListener的区域的颜色,例如,蓝色


所以我想知道做这件事最基本的方法是什么首先,你需要找到这个词的所有实例,然后为它们设置一个文本格式。类似这样:假设您的文本输入名为txt

您可以使用RegExp类获取匹配项和位置:

    // change wholeText to a class variable or function param
    var wholeText:String = "...addEventListener( Event...";
    var pattern:RegExp = /addEventListener/g; 
    var result:Array = pattern.exec( wholeText ); 

    while ( result != null ) 
    { 
        trace( result.index, pattern.lastIndex, result ); 
        result = pattern.exec( wholeText ); 
    }
…要包含格式,您需要

    var tf:TextFormat = new TextFormat( null, null, 0x0000ff );
    var wholeText:String = "...addEventListener( Event...";
    var pattern:RegExp = /addEventListener/g; 
    var result:Array = pattern.exec( wholeText ); 

    while ( result != null ) 
    { 
        wholeText.setTextFormat( tf, result.index, pattern.lastIndex );
        result = pattern.exec( wholeText ); 
    }
我还没有把这个和对这个方法的不满进行对比。我提供了一个更紧凑的解决方案

当然,您可以轻松地对其进行功能化,更改

    var pattern:RegExp = /addEventListener/g;
…到

    function colorizeString( findMe:String ) : void
    {
        // ....
        var pattern:RegExp = new RegExp( findMe, "g" );
        // ...
    }

我把它作为区分大小写的。如果您希望它不区分大小写,您应该将g更改为gi。

您找到解决方案了吗?
    function colorizeString( findMe:String ) : void
    {
        // ....
        var pattern:RegExp = new RegExp( findMe, "g" );
        // ...
    }