RegExpValidator MXML
您好RegExpValidator MXML,regex,apache-flex,mxml,Regex,Apache Flex,Mxml,您好我对正则表达式有问题。我在MXML中有一个RegExpValidator,当源包含a或b时,我希望它无效我的RegExpValidator是 <mx:RegExpValidator source="{value}" property="text" expression='.*[^ab].*' valid="isValid(event)"
我对正则表达式有问题。我在MXML中有一个RegExpValidator,当源包含a或b时,我希望它无效
我的RegExpValidator是
<mx:RegExpValidator source="{value}"
property="text"
expression='.*[^ab].*'
valid="isValid(event)"
invalid="isInvalid(event)"/>
我的表达式是expression='.[^ab].'
当只是a、b或a和b(一次或多次)时,表达式无效:OK当它是其他所有内容时,表达式是有效的:OK
但是当它与其他字符a或/和b一起使用时,它也是有效的。我必须更改什么才能使此文件无效?有很多在线工具可以帮助您找到正确的RegExp。 其中一些可能需要你一段时间来完善:P 我最常用的是这个:
干杯想象一下字符串
abc
。如果对其应用正则表达式*[^ab].
,则第一个*
将匹配ab
,[^ab]
匹配c
,最后一个*
匹配空字符串
此外,如果您没有将正则表达式锚定到字符串的开头和结尾,那么如果只有子字符串匹配,正则表达式可能会声明成功(取决于验证器的实现)
你想要这个:
^[^ab]*$
这将匹配除
a
或b
之外的任意数量的字符^
将正则表达式锚定到开头,$
锚定到字符串的结尾。我犯了一个错误,它不是b或c,而是a或b