浏览代码

refactor extraction into function

Benoît Hubert 7 年之前
父节点
当前提交
0f15ac5b9f
共有 1 个文件被更改,包括 34 次插入28 次删除
  1. 34 28
      react-tuto/splitRe.js

+ 34 - 28
react-tuto/splitRe.js

@@ -1,31 +1,37 @@
-var re=/\[[a-zA-Z0-9\s]+\]\(@\d+\.\d+\)/
 
 var md = 'bla bla bla [rel link 1](@2.1) bla bla [link 2](@3.4)'
-var matches;
-var firstMatch;
-var matchIndex;
-var remaining = md;
-var bits = [];
-var beforeMatch;
-var afterMatch;
-
-do {
-
-  matches = re.exec(remaining);
-  if(! matches) {
-    break;
+
+
+function extractRelativeLinks(remaining) {
+  var re=/\[[a-zA-Z0-9\s]+\]\(@\d+\.\d+\)/
+  var matches;
+  var firstMatch;
+  var matchIndex;
+  var remaining;
+  var bits = [];
+  var beforeMatch;
+
+  while(1) {
+
+    matches = re.exec(remaining);
+    if(! matches) {
+      break;
+    }
+    firstMatch = matches[0];
+    matchIndex = remaining.indexOf(firstMatch);
+    beforeMatch = remaining.slice(0, matchIndex);
+    remaining = remaining.slice(firstMatch.length + matchIndex);
+    bits.push({
+      md: beforeMatch
+    });
+    bits.push({
+      link: firstMatch
+    });
+
   }
-  firstMatch = matches[0];
-  matchIndex = remaining.indexOf(firstMatch);
-  beforeMatch = remaining.slice(0, matchIndex);
-  remaining = remaining.slice(firstMatch.length + matchIndex);
-  bits.push({
-    md: beforeMatch
-  });
-  bits.push({
-    link: firstMatch
-  });
-
-} while(1)
-
-console.log(bits);
+
+  return bits;
+
+}
+
+console.log(extractRelativeLinks(md));