Регулярное выражение для поиска второго символа - альфа, за которым следует 1 цифра - PullRequest
0 голосов
/ 10 декабря 2008

регулярное выражение для поиска второго символа - альфа до 5 альфа, за которым следует 1 цифра.

Спасибо

Ответы [ 4 ]

1 голос
/ 10 декабря 2008

Мне не удалось реализовать ни одно из указанных выше решений, вероятно, мое плохое объяснение необходимости. Я решил это в коде, не используя Regex. Спасибо всем, кто нашел время, чтобы помочь. Для тех, кто думал, что это домашнее задание, это не так.

Вот некоторые примеры данных.

нужно это

I INDY2 'INDY VECTOR DP ДЛЯ ФАЙЛИНГА' 041802 REM 59268640 I JODUB3 'AIRWAY FOR JODUB SID' 051205 CLW 59268649

Не нужно это

I J149 'GDK 59265224 I APE074 '43092 REF 59265777

Вот как я тестировал код.

Dim IsSidStar As Boolean = False
        If aAirways.Name.Length > 2 Then
            Dim a2ndChar As Char = aAirways.Name(1)
            Dim alastChar As Char = aAirways.Name(aAirways.Name.ToString.Length - 1)
            Dim a2ndlastChar As Char = aAirways.Name(aAirways.Name.ToString.Length - 2)

            If Char.IsLetter(a2ndChar) = True AndAlso Char.IsNumber(alastChar) = True AndAlso Char.IsNumber(a2ndlastChar) = False Then
                IsSidStar = True
            End If
        End If
0 голосов
/ 10 декабря 2008

Дважды проверка ...

  • 2-ой символ - альфа
  • до 5 следующих альфа (то есть всего 1 - 6 альфа) * ​​1006 *
  • окончательный номер

Да

Предполагая, что первый символ не имеет значения:

/.[A-Za-z]{1,6}\d/
0 голосов
/ 10 декабря 2008

Это должно сработать. Язык регулярных выражений - .Net реализация

^. [A-Za-Z] {1,5} \ d $

Разбивка

  • ^ принудительно начать матч в начале текста
  • . будет соответствовать чему угодно
  • [a-zA-Z] {1,5} будет соответствовать любому символу a-z хотя бы один раз, но не более пяти. Из-за предшествующего "." это означает, что матч начнется со второго символа
  • \ d соответствует одной цифре
  • $ соответствует концу текста
0 голосов
/ 10 декабря 2008
.\w{1,5}\d

любой символ, за которым следуют от 1 до 5 букв, затем 1 цифра

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...