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