回答編集履歴
2
最短マッチによらず結果は同じっぽい
test
CHANGED
@@ -4,11 +4,19 @@
|
|
4
4
|
|
5
5
|
^(?=.*?[A-Za-z].*?[A-Za-z])(?=.*?[0-9].*?[0-9])[A-Za-z0-9]{8,16}$
|
6
6
|
|
7
|
+
となります。
|
8
|
+
|
9
|
+
ここで、先読み部分で最短マッチさせてもさせなくても結果に変わりはないので、
|
10
|
+
|
11
|
+
^(?=.*[A-Za-z].*[A-Za-z])(?=.*[0-9].*[0-9])[A-Za-z0-9]{8,16}$
|
12
|
+
|
7
|
-
と
|
13
|
+
とできそうです。(otnさんの回答)
|
14
|
+
|
15
|
+
最短マッチの有無で実行速度に違いが出そうな気もしますが、詳しくないので分かりません。
|
8
16
|
|
9
17
|
また、回数指定で
|
10
18
|
|
11
|
-
^(?=(.*
|
19
|
+
^(?=(.*[A-Za-z]){2,2})(?=(.*[0-9]){2,2})[A-Za-z0-9]{8,16}$
|
12
20
|
|
13
21
|
と書いても良さそうです。
|
14
22
|
|
1
既に同じ内容があったことに気づかなかったので編集
test
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
英字・数字の先読み部分を2回にすればいいのですから、
|
2
2
|
|
3
|
-
単純に2回書
|
3
|
+
単純に2回書けば
|
4
4
|
|
5
5
|
^(?=.*?[A-Za-z].*?[A-Za-z])(?=.*?[0-9].*?[0-9])[A-Za-z0-9]{8,16}$
|
6
6
|
|
7
|
-
|
7
|
+
となります。(otnさんの回答)
|
8
8
|
|
9
|
-
回数
|
9
|
+
また、回数指定で
|
10
10
|
|
11
11
|
^(?=(.*?[A-Za-z]){2,2})(?=(.*?[0-9]){2,2})[A-Za-z0-9]{8,16}$
|
12
12
|
|
13
|
-
|
13
|
+
と書いても良さそうです。
|
14
14
|
|
15
15
|
|
16
16
|
|