teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

chousei

2019/11/01 10:20

投稿

yambejp
yambejp

スコア117902

answer CHANGED
@@ -18,4 +18,27 @@
18
18
  console.log(regexTest('0:18 hoge 0:34 hoge'));
19
19
  console.log(regexTest('0:18 hoge 0:34 hoge 0:41 hoge 0:55 hoge'));
20
20
 
21
+ ```
22
+
23
+ # 調整版
24
+ あ、2番めはマッチするですね、であればこうです
25
+ ```javascript
26
+ function regexTest(str){
27
+ const pattern=".*?[0-5]?[0-9]:[0-5]?[0-9] ?.*?";
28
+ const r1 = RegExp('^(?:'+pattern+' ?)+$');
29
+ const r2 = RegExp(pattern+'( |$)','g');
30
+ if(r1.test(str)){
31
+ const r3=str.match(r2);
32
+ console.log('match')
33
+ return r3;
34
+ } else {
35
+ console.log('unmatch')
36
+ return undefined
37
+ }
38
+ }
39
+ console.log(regexTest('hoge hoge'));
40
+ console.log(regexTest('0:18 hoge'));
41
+ console.log(regexTest('hoge 0:34 hoge'));
42
+ console.log(regexTest('0:18 hoge 0:34 hoge'));
43
+ console.log(regexTest('0:18 hoge 0:34 hoge 0:41 hoge 0:55 hoge'));
21
44
  ```