質問編集履歴

4

質問意図の追記

2018/05/13 09:57

投稿

chida3
chida3

スコア15

test CHANGED
File without changes
test CHANGED
@@ -85,3 +85,33 @@
85
85
  **************
86
86
 
87
87
  すみません、期待値および実行結果に一部タイプミスがあったため、訂正いたしました。
88
+
89
+
90
+
91
+ **追記**********
92
+
93
+ 本来やろうとしていたことは、下記のようなバリデーションチェックです。
94
+
95
+ ・英小文字、英大文字、数字がそれぞれ1文字以上あること
96
+
97
+ ・全体で8文字以上であること
98
+
99
+
100
+
101
+ これ自体は、「^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$」とすればよいことが確認できました。
102
+
103
+
104
+
105
+ ただ、上記の書き方にたどりつくまでにいくつか調べていたところ、
106
+
107
+ 今回質問したように「.?*」という書き方をしているものがありました。
108
+
109
+ [https://qiita.com/momotaro98/items/460c6cac14473765ec14](https://qiita.com/momotaro98/items/460c6cac14473765ec14)
110
+
111
+
112
+
113
+ > passw0rd という文字列であれば、pとして行頭が^(?=.*?[a-z])にマッチしていることになり、また、passw0として行頭が^(?=.*?\d)にマッチしていることになります。
114
+
115
+
116
+
117
+ 上記のとおりだと、(*)の実行結果は「123」になるのでは?と思ったのが、今回の質問のきっかけです。

3

誤字訂正

2018/05/13 09:57

投稿

chida3
chida3

スコア15

test CHANGED
File without changes
test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
  *1*
42
42
 
43
- 123a
43
+ ~~123a~~ 123(※訂正しました)
44
44
 
45
45
  ~~123aBcde~~ 123aBcd(※訂正しました)
46
46
 

2

誤字訂正

2018/05/13 08:34

投稿

chida3
chida3

スコア15

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
  123a
44
44
 
45
- 123aBcde
45
+ ~~123aBcde~~ 123aBcd(※訂正しました)
46
46
 
47
47
  *2*
48
48
 
@@ -56,9 +56,9 @@
56
56
 
57
57
  *1*
58
58
 
59
- 123aBcde    ・・・(*)
59
+ ~~123aBcde~~ 123aBcd(※訂正しました)   ・・・(*)
60
60
 
61
- 123aBcde
61
+ ~~123aBcde~~ 123aBcd(※訂正しました)
62
62
 
63
63
  *2*
64
64
 
@@ -79,3 +79,9 @@
79
79
  (?=.*pattern)と(?=.*?pattern)の実行結果はなぜ同じになってしまうのでしょうか。
80
80
 
81
81
  ご教示賜りたいです。
82
+
83
+
84
+
85
+ **************
86
+
87
+ すみません、期待値および実行結果に一部タイプミスがあったため、訂正いたしました。

1

誤字訂正

2018/05/13 08:33

投稿

chida3
chida3

スコア15

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- argStr = '123abcde'
13
+ argStr = '123aBcde'
14
14
 
15
15
 
16
16