回答編集履歴

4

テキスト修正

2019/11/02 06:23

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -90,17 +90,15 @@
90
90
 
91
91
 
92
92
 
93
+ とはいえ、 ご質問にある `^([0-6]?[0-9]):([0-6]?[0-9])` を使わない上記のコードでは、望む結果が得られないような、別の(pattern4 以降の)入力パターンとそれに対する期待値が、おそらくあると思われましたので、それらについては、コメントからお知らせ頂くか、質問に追記をお願い致します。
94
+
93
95
 
94
96
 
95
97
  ### 追記
96
98
 
97
99
 
98
100
 
99
-
100
-
101
- とはいえ、 ご質問にある `^([0-6]?[0-9]):([0-6]?[0-9])` を使わない上記のコードでは、望む結果が得られないような、別の(pattern4 以降の)入力パターンとそれに対する期待値が、おそらくあると思われましたので、それらについては、コメントからお知らせ頂くか、質問に追記をお願い致します。
102
-
103
-
101
+ `([0-6]?[0-9]):([0-6]?[0-9])` に合致しない文字列、たとえば `"70:70"` といったものも、解析対象の文字列に入ってくる可能性があり、それを排除する必要があったりするならば、`([0-6]?[0-9]):([0-6]?[0-9])`にも出番はあると思いますが、ご質問にある pattern1 〜 pattern3 の事例では、hoge以外の全てのトークンは `[0-6]?[0-9]:[0-6]?[0-9]` を満たしていることが目視で確認できますので、`([0-6]?[0-9]):([0-6]?[0-9])`は不要になります。このように、正規表現の課題を考える場合、解析対象の文字列ではそもそも何が満たされていることを前提にしてよいのかをはっきりさせることで、正規表現を使ったプログラム側を(当初、想定していたものよりも)簡素にできることがあります。
104
102
 
105
103
 
106
104
 

3

テキスト修正

2019/11/02 06:23

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -98,7 +98,7 @@
98
98
 
99
99
 
100
100
 
101
- とはいえ、 ご質問にある `^([0-6]?[0-9]):([0-6]?[0-9])` を使わない上記のコードでは、望む結果が得られないような、別の(pattern4 以降の)入力パターンがらくあると思われまので、それらについては、コメントからお知らせ頂くか、質問に追記をお願い致します。
101
+ とはいえ、 ご質問にある `^([0-6]?[0-9]):([0-6]?[0-9])` を使わない上記のコードでは、望む結果が得られないような、別の(pattern4 以降の)入力パターンとそれに対する期待値、おそらくあると思われましたので、それらについては、コメントからお知らせ頂くか、質問に追記をお願い致します。
102
102
 
103
103
 
104
104
 

2

テキスト修正

2019/11/02 04:25

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -86,11 +86,19 @@
86
86
 
87
87
 
88
88
 
89
- 上記では、`"hoge"`ではなくかつ空白を含まない文字列が満たすべき正規表現`[0-6]?[0-9]:[0-6]?[0-9]` は使用していませんが、pattern1からpattern3 の入力に対しては、望まれる結果が出力されます。
89
+ 上記では、`"hoge"`ではなくかつ空白を含まない文字列が満たすべき正規表現`^([0-6]?[0-9]):([0-6]?[0-9])` は使用していませんが、pattern1からpattern3 の入力に対しては、望まれる結果が出力されます。
90
90
 
91
91
 
92
92
 
93
+
94
+
95
+ ### 追記
96
+
97
+
98
+
99
+
100
+
93
- とはいえ、 `[0-6]?[0-9]:[0-6]?[0-9]` を使わない上記のコードでは、望む結果が得られないような(pattern4 以降の)入力パターンが恐らくあると思われますので、それらについてはコメントからお知らせ頂くか、質問に追記をお願い致します。
101
+ とはいえ、 ご質問にある `^([0-6]?[0-9]):([0-6]?[0-9])` を使わない上記のコードでは、望む結果が得られないような、別の(pattern4 以降の)入力パターンが恐らくあると思われますので、それらについてはコメントからお知らせ頂くか、質問に追記をお願い致します。
94
102
 
95
103
 
96
104
 

1

テキスト修正

2019/11/02 03:47

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -82,7 +82,7 @@
82
82
 
83
83
 
84
84
 
85
- - **動作確認用jsFiddle:** [https://jsfiddle.net/jun68ykt/bkmLxctd/3/](https://jsfiddle.net/jun68ykt/bkmLxctd/3/)
85
+ - **動作確認用jsFiddle:** [https://jsfiddle.net/jun68ykt/bkmLxctd/4/](https://jsfiddle.net/jun68ykt/bkmLxctd/4/)
86
86
 
87
87
 
88
88