Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.02.2018, 13:05
Аспирант
Отправить личное сообщение для АнонимныйПарень Посмотреть профиль Найти все сообщения от АнонимныйПарень
 
Регистрация: 17.03.2017
Сообщений: 67

Регулярки...
Помогите, есть файл, я его читаю и там могут быть комментарии однострочные, вида: "//какой-то коммент"
Как их удалить с помощью регулярки?
Вот файл в котором буду удалять комменты:
alert(1);//awdajyjyjyjjywdawdawdwa

//awdawdawdawdwa

alert(2);
//awdahtjyjyjyjy


Прошу помощи только у вас))))

P.S с многострочными уже разобрался, нужно регулярка только для однострочных
Ответить с цитированием
  #2 (permalink)  
Старый 11.02.2018, 13:30
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 498

str.replace(/\/\/.*/g, '')
Ответить с цитированием
  #3 (permalink)  
Старый 11.02.2018, 15:44
Аспирант
Отправить личное сообщение для АнонимныйПарень Посмотреть профиль Найти все сообщения от АнонимныйПарень
 
Регистрация: 17.03.2017
Сообщений: 67

А можете еще помочь?
Смотрите, есть строка вида:

alert(1);
"use strict";
alert(2);

Я удаляю все пробелы, табы и переносы строк:
string.replace(/\s*/g,'');


Получаю:
alert(1);"usestrict";alert(2);

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

Должно быть что-то вроде:
alert(1);"use strict";alert(2);
Ответить с цитированием
  #4 (permalink)  
Старый 11.02.2018, 15:44
Аспирант
Отправить личное сообщение для АнонимныйПарень Посмотреть профиль Найти все сообщения от АнонимныйПарень
 
Регистрация: 17.03.2017
Сообщений: 67

Смотрите, есть строка вида:

alert(1);
"use strict";
alert(2);

Я удаляю все пробелы, табы и переносы строк:
string.replace(/\s*/g,'');


Получаю:
alert(1);"usestrict";alert(2);

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

Должно быть что-то вроде:
alert(1);"use strict";alert(2);
Ответить с цитированием
  #5 (permalink)  
Старый 11.02.2018, 17:10
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,518

Это делается не регулярками, а конечным автоматом.

Само собой есть "тупое" решение: использовать три прохода - в первом заменить все "кавычные" строки на заменитель вида __СТРОКА_89__, заполняя соответствующий массив, вторым походом сделать то, что надо, и третьим вернуть строки на место. Но это классический "хуяк-хуяк" и будет на вашей совести.)

P.S. Не стоит также забывать, что кавычки в коде могут быть экранированы.)
__________________
29375, 35

Последний раз редактировалось Aetae, 11.02.2018 в 17:17.
Ответить с цитированием
  #6 (permalink)  
Старый 11.02.2018, 17:31
Аспирант
Отправить личное сообщение для АнонимныйПарень Посмотреть профиль Найти все сообщения от АнонимныйПарень
 
Регистрация: 17.03.2017
Сообщений: 67

Можно подробнее про этот дедовский метод?))))) В действии хоть примерно
Ответить с цитированием
  #7 (permalink)  
Старый 11.02.2018, 19:21
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

АнонимныйПарень,
Если вы хотите тем самым как то сжимать скрипт, есть подводные камни

alert(5.toString());

alert(5 .toString());
Ответить с цитированием
  #8 (permalink)  
Старый 12.02.2018, 01:39
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,007

Сообщение от Aetae
Это делается не регулярками, а конечным автоматом.
Одно другому не мешает )
Как-то была аналогичная задача, я запилил КА через replace+regex
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбитие textarea с помошью регулярки Sherminator Общие вопросы Javascript 3 28.06.2016 16:08
Два варианта паттерна для регулярки. Один работает, другой нет izcian Общие вопросы Javascript 3 25.04.2015 19:45
Замена через replace, используя регулярки ОмаЭль Общие вопросы Javascript 13 17.11.2014 19:18
Чем можно воспользоваться для написания сложной регулярки в коде vflash Общие вопросы Javascript 18 16.11.2014 03:01
Снова регулярки Зосимов Общие вопросы Javascript 7 16.09.2014 10:34