2013-06-07 4 views
0

Я хотел бы удалить все комментарии из исходного файла PHP из приложения VB.NET. Другой StackOverflow вопрос показал, как это сделать in C# codeУдалить все комментарии из исходного файла PHP

Я придумал это преобразование, но он не работает, к сожалению:

Dim blockComments As String = "/\*(.*?)\*/" 
Dim lineComments As String = "//(.*?)\r?\n" 
Dim strings As String = """((\\[^\n]|[^""\n])*)""" 
Dim verbatimStrings As String = "@(""[^""]*"")+" 
regex = New Regex(blockComments & "|" & lineComments) 
srcT = regex.Replace(srcT, "") 
+1

У вас проблема? Что вы пытались решить? На какие другие решения вы посмотрели? – dognose

+0

Это помогает определить точные проблемы, с которыми вы сталкиваетесь, говоря: «Это не работает, к сожалению» не дает нам много информации. –

ответ

0

Вам нужно передать флаг RegexOptions.Singleline при построении Regex объекта. В противном случае комментарии блока не могут охватывать несколько строк.

regex = New Regex(blockComments & "|" & lineComments, RegexOptions.Singleline) 

The . обычно соответствует любому символу, кроме символа новой строки (\n). Флаг RegexOptions.Singleline делает его совпадающим с любым персонажем, включая новую строку.

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