| 12345678910111213141516171819202122232425262728293031323334353637 |
- var md = 'bla bla bla [rel link 1](@2.1) bla bla [link 2](@3.4)'
- 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
- });
- }
- return bits;
- }
- console.log(extractRelativeLinks(md));
|