2014-03-26 2 views
1

Я пытаюсь извлечь все константы, их объем, тип данных и т. Д. В .VB-файлы, используя регулярные выражения. Я использую регулярное выражение: -Избегайте строк с одинарными кавычками (строка комментариев) в vb.net

(\w*) Const (\w+) As (\w+)

и когда я тестировал его на файл .vb, я получаю следующие результаты: -

Public Const DOT As String = "." 
'Private Const SW_HIDE As Short = 0 

Я хочу, чтобы избежать линий, которые комментировали (второй в этом примере). Для этого я изменил регулярное выражение как: -

[^'](\w*) Const (\w+) As (\w+) 

Но он все еще выдал прокомментированные строки на выходе. Пожалуйста помоги. Большое спасибо.

+0

Какой язык проверяет ваш регулярное выражение код? VB.NET тоже? –

+0

Да. Вот мои две строки кода am: - 'Dim strPattern As String =" (\ w *) Const (\ w +) As (\ w +) "Dim oRegEx As Regex = новое регулярное выражение (strPattern, RegexOptions.Compiled)' – user3460186

+0

Вы пробовали отрицательный lookbehind? Изменить: также сначала проверьте свои регулярные выражения: http://www.regexr.com/ – Brandon

ответ

0

Попробуйте это регулярное выражение:

^(?!\s*')(\w*) Const (\w+) As (\w+) 

Здесь он проверяет с помощью отрицательного lookahead(?!\s*'), не существует ли какой-либо ' символ в начале строки с опциональными нескольких белых пространств (\s*).

Я не знаю VB.Net, поэтому попробуйте это на Online Demo.

0

попробовать это:

^[^'](\w*) Const (\w+) As (\w+) 
+0

Извините, но оба вышеуказанных выражения не работали. – user3460186

+0

Я думаю, что я немного приблизился, но все же нуждаюсь в некоторой помощи. Вот регулярное выражение, чтобы избежать строк комментариев в коде vb: - '(? user3460186

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