Это, вероятно, простой вопрос для кого-то, у кого возникли проблемы с регулярным выражением, но у меня небольшие проблемы. Я ищу, чтобы соответствовать линии данных, как это показано ниже:Regex для сопоставления данных с веб-страницы
SomeAlpha Текст CrLf CRLF 15 CrLf CrLf 123 132 143 CrLf CrLf 12313 CRLF CRLF 12/123
Где "SomeAlpha Text"
только некоторые текст с пространством и потенциально пунктуацией. Первое число - от 1 до 30 000. Второй набор чисел (123 132 143) составляет от 1 до 500 000 (каждое число). Следующее число составляет от 1 до 500 000. Окончательный набор равен (1-30 000)/(1-30 000). Это код, который я поставил вместе до сих пор:
Dim Pattern As String = "[.*]{1,100}" & vbCrLf & "" & vbCrLf & "[0-9]{1,4}" & vbCrLf & "" & vbCrLf & "[0-9]{1,6] [0-9]{1,6] [0-9]{1,6]" & vbCrLf & "" & vbCrLf & "[0-9]{1,6}" & vbCrLf & "" & vbCrLf & "[0-9]{1,5}/[0-9]{1,5}"
For Each match As Match In Regex.Matches(WebBrowser1.DocumentText.ToString, Pattern, RegexOptions.IgnoreCase)
RichTextBox1.AppendText(match.ToString & Chr(13) & Chr(13))
Next
И я в настоящее время получаю 0 матчей, хотя я знаю, что должно быть по крайней мере один матч. Любые советы о том, где мой шаблон неправильный, были бы замечательными! Благодарю.
Вы можете подтвердить линейный перерыв, который определенно соответствует. Меня не удивило бы, если этот vbCrLf не работает. Try \ r \ n – OGHaza
Возможно, вы сможете выполнить замену на оскорбительных символах перед тем, как применить регулярное выражение, а затем не придется беспокоиться о них вообще. –
@OGHaza В VB.NET 'vbCrLf' - это константа, равная' '\ r \ n" '. –