2015-03-28 2 views
0
for (var i = 0; i < tree.length; ++i) { 
    if (tree[i].match(/^##/g)) { 
     console.log(tree[i]) 
     tree[i] = '<p><a href="#toc-' + tocIndex++ + '">' + 
     tree[i].replace('/^## /gm', '') + 
     '</a></p>' 
     console.log(tree[i]) 
     tocItems.push(tree[i]) 
    } 
    } 

Первые console.log(tree[i]) выходы ## Chapter 1 второй выходы:Почему следующее регулярное выражение не удаляет символы ##?

<p><a href="#toc-1">## Chapter 1</a></p> 

Но он должен вместо этого выводится:

<p><a href="#toc-1">Chapter 1</a></p> 

Что я делаю неправильно?

+0

Что содержит массив (?) "tree"? – Pointy

+2

Ваше регулярное выражение 'replace' было помещено в кавычки. Это вопрос опечатки. Закрыть голосование. –

+0

Я рекомендую http://regexper.com/ для тестирования регулярного выражения – for3st

ответ

2

Вы не правильно использовали регулярное выражение для поиска google о том, как использовать регулярное выражение в javascript, чтобы узнать это. Кстати, для этого вам не нужно регулярное выражение. здесь исправить:

tree[i].replace('##', '') + '</a></p>' 
Смежные вопросы