Actionscript重复字符的正则表达式

时间:2013-12-17 08:34:35

标签: regex actionscript-3 flex actionscript

我想对一个字符串执行正则表达式检查,该字符串重复自身两次以上。 我正在使用ActionScript 3。

即:

koby = true
kobyy = true
kobyyy = false

我尝试使用

/((\w)\2?(?!\2))+/ 

但它似乎不起作用(使用RegExp.test()

2 个答案:

答案 0 :(得分:3)

如果要使整个字符串无效,当有一个字符重复3次时,您可以使用否定的先行断言:

^(?!.*(\w)\1{2}).*

here on Regexr

(?!开头的群组是negated lookahead assertion。这意味着当字符串中的字符重复3次时,整个正则表达式(.*匹配整个字符串)将失败。

^是字符串开头的anchor

^         # match the start of the string
(?!.*     # fail when there is anywhere in the string
    (\w)  # a word character
    \1{2} # that is repeated two times
)
.*        # match the string

答案 1 :(得分:1)

我也试过这个:

var regExp:RegExp = new RegExp('(\\w)\\1{2}');
trace(!regExp.test('koby'));
trace(!regExp.test('kobyy'));
trace(!regExp.test('kobyyy'));