Oki
Продвинутый
- Сообщения
 - 452
 
- Репутация
 - 63
 
Для сабжа на данный момент написан такой скрипт.
	
	
	
	
  
    
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Не имею достаточного опыта в регулярных выражениях, чтобы получить уверенность в том, когда скрипт начнёт правильно обрабатывать любые ситуации по сабжу. Даже сейчас вижу, что второй шаг применения регулярных выражений не приводит к полному удалению строки, но не удивлюсь наличию других неточностей в этом скрипте. Прошу взглянуть опытных пользователей регулярных выражений и оценить скрипт и/или предложить к нему правки.
Последовательность действий скрипта следующая:
			
			
			
				Код:
			
		
		
		$s = FileRead(@ScriptDir & "\1.txt")
$s = StringRegExpReplace($s, "/\*(?s).*?\*/", "") ; To delete comments of the type "/*[anything]*/".
$s = StringRegExpReplace($s, "(?m)^//.*?$", "") ; To delete lines of the type "//[anything]".
$s = StringRegExpReplace($s, "//.*?((?m)$)", "\0") ; To delete right parts of lines, starting from "//[anything]".
FileWrite(@ScriptDir & "\2.txt", $s)
	Последовательность действий скрипта следующая:
- сначала удаляются комментарии, начинающиеся символами "/*" и заканчивающиеся символами "*/";
 - затем полностью удаляются строки, начинающиеся символами "//" (этого, к сожалению, не удалось достигнуть полностью: пустые строки остаются на месте удаляемых);
 - и наконец, удаляются части строк, начинающиеся символами "//".
 
	            