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