2014-01-15 2 views
0

Я создаю скрипт подсветки синтаксиса, и у меня есть некоторые проблемы с моим регулярным выражением. Я провалился около 2 дней, поэтому мне нужна помощь.Regex выбрать все, кроме

Я хочу, чтобы выбрать все, что не /* */ или между ними и это то, что я получил атм, не работает Тхо, но, кажется, близко:

^(?!(\/\*.*\*\/)$) 

Пример я хочу:

/* I want to select everything but these comments */ 
.class-1 { 
    font-family: 'SourceCodePro'; 
    font-size: 16px; 
    line-height: 18px; 
} 
/* I want to select everything but these comments */ 
.class-2 { 
    background-color: rgb(40, 40, 40); 
    border: 1px solid rgb(20, 20, 20); 
    padding: 10px 15px 10px 15px; 
} 

Я решил другие варианты регулярных выражений для остальной части кода, но поскольку он применяется к комментариям, мне также нужно сначала выбрать все, кроме них.

+0

Где вы проверка для Матчи? – Aashray

+0

Я регистрирую матчи в консоли, если это то, что вы имеете в виду? –

+0

Нет функции, в которой вы проверяете совпадения, а затем применяете классы CSS. – Aashray

ответ

1

Вы можете попробовать использовать этот один:

!(/\*.+?\*/) 
1

Попробуйте это:

!(\/\*(.+)\*\/) 

я не могу проверить это сейчас.

0

Удаление комментариев | DEMO

Для одного // и многострочного /* */

function filter(str) 
{ 

    var regex =/\/\/.+?(?=\n|\r|$)|\/\*[\s\S]+?\*\//g; 

    // if you want for multiline only then 
    // use var regex =/\/\*.+?\*\//g; 

    var temp = str.replace(regex,''); 
    alert(temp); 
} 
+0

Я просто хочу выбрать все, кроме комментариев, а не удалять их. Затем, в этом выборе, примените промежутки для выделения. –

+0

Выберите? в буфер обмена или что? – Shadow

Смежные вопросы