Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash AIR,Flex-如何检查正则表达式是否有效_Flash_Apache Flex_Air - Fatal编程技术网

Flash AIR,Flex-如何检查正则表达式是否有效

Flash AIR,Flex-如何检查正则表达式是否有效,flash,apache-flex,air,Flash,Apache Flex,Air,我想在AdobeAIR中检查给定的正则表达式是否有效。 我正在寻找类似的东西,如: 我不想比较正则表达式和文本值-我只是想检查这个正则表达式是否有效。如果有人输入了无效的正则表达式-例如:“x{5,-3}”或“((^^$$)/)”或类似的东西,我只需要告诉他这个正则表达式无效-它不是正确的正则表达式 在Java中,可以通过以下方式完成: [守则] [/code]什么叫“有效”?如果要检查正则表达式是否与特定字符串匹配,可以使用RegExp::test()-如果存在匹配项,它将返回true,如果

我想在AdobeAIR中检查给定的正则表达式是否有效。 我正在寻找类似的东西,如:


我不想比较正则表达式和文本值-我只是想检查这个正则表达式是否有效。如果有人输入了无效的正则表达式-例如:“x{5,-3}”或“((^^$$)/)”或类似的东西,我只需要告诉他这个正则表达式无效-它不是正确的正则表达式

在Java中,可以通过以下方式完成: [守则]


[/code]

什么叫“有效”?如果要检查正则表达式是否与特定字符串匹配,可以使用
RegExp::test()
-如果存在匹配项,它将返回
true
,如果不存在匹配项,它将返回
false

据我所知,您正在寻找一个测试应用程序,您可以在其中输入正则表达式和值,该应用程序将告诉您是否存在匹配项。假设这是您想要的,此代码将为您完成:

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx">

    <fx:Script>
        <![CDATA[
            private function test(regex:String, value:String):String {
                return new RegExp(regex).test(value) ? "MATCH" : "NOT A MATCH";
            }
        ]]>
    </fx:Script>

    <s:Form>
        <s:FormItem label="RegEx:">
            <s:TextInput id="regex" />
        </s:FormItem>
        <s:FormItem label="Test Value: ">
            <s:TextInput id="testValue" />
        </s:FormItem>

        <s:Label text="{test(regex.text, testValue.text)}" />
    </s:Form>

</s:WindowedApplication>

如果您想动态查看给定输入的regexp结果,我建议您使用以下在线工具:


我找不到在AS3中实现的,但这里有源代码Pattern.java


也许您可以在AS3中实现相同的功能。

我知道-我只想检查我的正则表达式是否正确。我需要检查模式是否正确我只想检查正则表达式语法是否有效-不在Java中测试正则表达式,可以通过以下方法完成:尝试{pattern.compile(userInputPattern);}catch(PatternSyntaxException异常){System.err.println(exception.getDescription());System.exit(1);}好的,很可能这不可能做到-这没关系-我只是想知道它可以或不可以做到这一点…有趣的是,AS3似乎没有这个功能。不确切-我不想比较正则表达式和文本值-我只是想检查这个正则表达式是否有效。如果有人键入无效的正则表达式-例如:“x{5,-3}”或(((^^$$)/)”或者类似的东西,我只需要告诉他这个正则表达式是无效的-它不是正确的正则表达式。明白了。不幸的是,我在文档中没有看到任何东西表明RegEx支持这个。
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx">

    <fx:Script>
        <![CDATA[
            private function test(regex:String, value:String):String {
                return new RegExp(regex).test(value) ? "MATCH" : "NOT A MATCH";
            }
        ]]>
    </fx:Script>

    <s:Form>
        <s:FormItem label="RegEx:">
            <s:TextInput id="regex" />
        </s:FormItem>
        <s:FormItem label="Test Value: ">
            <s:TextInput id="testValue" />
        </s:FormItem>

        <s:Label text="{test(regex.text, testValue.text)}" />
    </s:Form>

</s:WindowedApplication>