次のような RegExp コードが必要です: 3 文字または数字が並んでいます。
例:
aab
有効ですaaa
は無効ですabc
有効 ですaabbcc
有効ですaabbbcc
は無効です(bbb)aa22cc
有効 ですaa222cc
は無効です(222)xxxxxxxxxxx
は無効です111111111
は無効ですxx11xx11
有効です
実物を確認するためにやってます
次のような RegExp コードが必要です: 3 文字または数字が並んでいます。
例:
aab
有効です
aaa
は無効です
abc
有効 です
aabbcc
有効です
aabbbcc
は無効です(bbb)
aa22cc
有効 です
aa222cc
は無効です(222)
xxxxxxxxxxx
は無効です
111111111
は無効です
xx11xx11
有効です
実物を確認するためにやってます
連続する同一文字が 2 つ以下であることを確認したい場合は、後方参照を使用できます。
/(.)\1{2}/
この式は、それ自体のコピーが 2 つ続く任意の文字に一致します。したがって、3 文字の繰り返しがないことを確認するには、正規表現が一致しないことを確認します。
if(!preg_match('/(.)\1{2}/', $input)) {
// "valid"
}
あなたには2つの要件があります(そうです):
これはあなたがそれを行う方法です:
if (preg_match(
'/^ # Start of string
(?! # Assert that it is not possible to match...
.* # any string,
(.) # followed by any character
\1{2} # which is repeated twice.
) # (End of lookahead)
[a-z0-9]* # Match a string that only contains ASCII letters and digits
$ # until the end of the string.
\Z/ix', # case-insensitive, verbose regex
$subject)) {
# Successful match
}
regex101で参照してください。