| 1 |
<?xml version="1.0" encoding="utf-8"?> |
|---|
| 2 |
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"> |
|---|
| 3 |
<mx:Script> |
|---|
| 4 |
<![CDATA[ |
|---|
| 5 |
import mx.controls.Text; |
|---|
| 6 |
|
|---|
| 7 |
[Bindable] |
|---|
| 8 |
public var crntRegExp:RegExp |
|---|
| 9 |
|
|---|
| 10 |
private function init():void |
|---|
| 11 |
{ |
|---|
| 12 |
|
|---|
| 13 |
} |
|---|
| 14 |
|
|---|
| 15 |
private function test():void |
|---|
| 16 |
{ |
|---|
| 17 |
//regExpから 後半部分を切り抜く gismx |
|---|
| 18 |
var str:String = reg_txt.text; |
|---|
| 19 |
var flag:String |
|---|
| 20 |
var flagReg:RegExp = /\/[gismx]*$/i |
|---|
| 21 |
|
|---|
| 22 |
//flag抽出 |
|---|
| 23 |
var result:Object = flagReg.exec(str) |
|---|
| 24 |
if(result==null){ |
|---|
| 25 |
flag = "" |
|---|
| 26 |
}else{ |
|---|
| 27 |
flag = result[0] |
|---|
| 28 |
flag = flag.substr(1,flag.length-1) |
|---|
| 29 |
} |
|---|
| 30 |
|
|---|
| 31 |
//re抽出 |
|---|
| 32 |
var re:String |
|---|
| 33 |
var reReg:RegExp = /^\/.*\//i |
|---|
| 34 |
result = reReg.exec(str); |
|---|
| 35 |
if(result==null){ |
|---|
| 36 |
re = "" |
|---|
| 37 |
}else{ |
|---|
| 38 |
re = result[0] |
|---|
| 39 |
re = re.substr(1,re.length-2) |
|---|
| 40 |
} |
|---|
| 41 |
|
|---|
| 42 |
//var flag:String = [0] |
|---|
| 43 |
//flag = flag.substr(1,flag.length-1) |
|---|
| 44 |
crntRegExp = new RegExp(re,flag) |
|---|
| 45 |
|
|---|
| 46 |
|
|---|
| 47 |
result_txt.htmlText = "" |
|---|
| 48 |
if(areaType_all_rb.selected==true){ |
|---|
| 49 |
validate(source_txt.text) |
|---|
| 50 |
}else{ |
|---|
| 51 |
var lines:Array = source_txt.text.split("\r"); |
|---|
| 52 |
for(var i:Number=0; i<lines.length; i++){ |
|---|
| 53 |
validate(lines[i]); |
|---|
| 54 |
} |
|---|
| 55 |
} |
|---|
| 56 |
|
|---|
| 57 |
|
|---|
| 58 |
|
|---|
| 59 |
|
|---|
| 60 |
} |
|---|
| 61 |
|
|---|
| 62 |
private function validate(str:String):void |
|---|
| 63 |
{ |
|---|
| 64 |
//var reg:RegExp = new RegExp(reg_txt.text,flag_txt.text); |
|---|
| 65 |
var rep:String = "<font color='#ff0000'>$&</font>" |
|---|
| 66 |
result_txt.htmlText += str.replace(crntRegExp,rep) + "\r" |
|---|
| 67 |
} |
|---|
| 68 |
|
|---|
| 69 |
private function validate2(str:String):void |
|---|
| 70 |
{ |
|---|
| 71 |
|
|---|
| 72 |
} |
|---|
| 73 |
|
|---|
| 74 |
private function isRegExp(str:String):Boolean |
|---|
| 75 |
{ |
|---|
| 76 |
var reg:RegExp = /^\/.*\/[gismx]*$/i |
|---|
| 77 |
return reg.test(str) |
|---|
| 78 |
} |
|---|
| 79 |
]]> |
|---|
| 80 |
</mx:Script> |
|---|
| 81 |
|
|---|
| 82 |
<mx:VBox width="100%" height="100%"> |
|---|
| 83 |
<mx:Canvas width="100%"> |
|---|
| 84 |
<mx:VBox width="100%"> |
|---|
| 85 |
<mx:HBox width="100%"> |
|---|
| 86 |
<mx:Label text="var reg:RegExp = "/> |
|---|
| 87 |
<mx:TextInput id="reg_txt" width="100%" text="/reg/i"/> |
|---|
| 88 |
<mx:Button click="test()" enabled="{isRegExp(reg_txt.text)}" label="Check"/> |
|---|
| 89 |
</mx:HBox> |
|---|
| 90 |
<mx:HBox width="100%"> |
|---|
| 91 |
<mx:RadioButton id="areaType_line_rb" selected="true" groupName="areaType" label="Test for each line"/> |
|---|
| 92 |
<mx:RadioButton id="areaType_all_rb" groupName="areaType" label="Test for entire text"/> |
|---|
| 93 |
</mx:HBox> |
|---|
| 94 |
</mx:VBox> |
|---|
| 95 |
</mx:Canvas> |
|---|
| 96 |
<mx:HBox width="100%" height="100%"> |
|---|
| 97 |
<mx:Panel width="100%" height="100%" title="Source"> |
|---|
| 98 |
<mx:TextArea id="source_txt" width="100%" height="100%" text="imput sample text for reg matching test"/> |
|---|
| 99 |
</mx:Panel> |
|---|
| 100 |
<mx:Panel width="100%" height="100%" title="Result"> |
|---|
| 101 |
<mx:TextArea id="result_txt" editable="false" width="100%" height="100%" color="#c0c0c0"/> |
|---|
| 102 |
</mx:Panel> |
|---|
| 103 |
</mx:HBox> |
|---|
| 104 |
</mx:VBox> |
|---|
| 105 |
</mx:Canvas> |
|---|