首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RegExpValidator MXML

RegExpValidator MXML
EN

Stack Overflow用户
提问于 2011-05-20 20:54:10
回答 2查看 447关注 0票数 3

我有一个正则表达式的问题。我在MXML中有一个RegExpValidator,我希望当源包含a或b时无效。

我的RegExpValidator是

代码语言:javascript
运行
复制
<mx:RegExpValidator source="{value}"
                    property="text"
                    expression='.*[^ab].*'
                    valid="isValid(event)"
                    invalid="isInvalid(event)"/>

我的表达式是expression='.*[^ab].*'当它只是a,b或者a和b(一次或多次)表达式是无效的: OK

当满足其他条件时,表达式是有效的: OK

但当它与其他承租人一起为a或/和b时,它也有效。我必须更改什么才能使此无效?

EN

回答 2

Stack Overflow用户

发布于 2011-05-20 21:23:50

想象一下字符串abc。如果对其应用正则表达式.*[^ab].*,则第一个.*将匹配ab[^ab]匹配c,最后一个.*匹配空字符串。

此外,如果您没有将正则表达式锚定到字符串的开头和结尾,则可能会发生这样的情况(取决于验证器的实现):如果只有一个子字符串匹配,则正则表达式将声明成功。

你想要这个:

代码语言:javascript
运行
复制
^[^ab]*$

这将匹配除ab之外的任意数量的字符。^将正则表达式锚定在开头,$锚定在字符串的末尾。

票数 2
EN

Stack Overflow用户

发布于 2011-05-20 20:58:51

有很多在线工具可以帮助你找到合适的RegExp。其中一些可能需要一段时间来完善:P

我最常用的是这个:http://gskinner.com/RegExr/

干杯

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6072162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档