Регулярное выражение, которое будет соответствовать первому регистру в каждой строке.

StackOverflow https://stackoverflow.com//questions/25019966

  •  21-12-2019
  •  | 
  •  

Вопрос

У меня есть следующее регулярное выражение:

.*?,

И вот некоторые данные, с которыми я работаю:

"bagel-mssql-iscsi.private.hostname.ca","3636634643","8.8.8.8"
"cecs-admin.prt.hostname.ca","3636634643","8.8.8.8"
"cecs-admin2.prt.hostname.ca","3636634643","8.8.8.8"

Приведенные выше данные были подвергнуты цензуре по сравнению с исходными данными.

Я хочу соответствовать:

"bagel-mssql-iscsi.private.hostname.ca",
"cecs-admin.prt.hostname.ca",
"cecs-admin2.prt.hostname.ca",

Проблема в том, что мое регулярное выражение также соответствует числовому значению после имен хостов.Что я могу сделать, чтобы совпадало только первое вхождение каждой строки?Или альтернативный метод, который также работал бы с этим типом данных, также сработал бы.

Это было полезно?

Решение

Ваше регулярное выражение было бы,

^".*?",

ДЕМОНСТРАЦИЯ

Объяснение:

  • ^ Утверждает, что мы находимся в самом начале.
  • " Буквальные двойные кавычки.
  • .*? Нежелательное совпадение любого символа ноль или более раз.
  • ", Буквальный " за которым следует запятая.

Другие советы

Вам нужно закрепить в начале строки:

^.*?,
.

Используйте анкер ^, который соответствует только в начале строки:

^.*?,
.

Введите описание изображения здесь

Фильтр Regex ниже может помочь:

^\"(\S*?)\",
.

http://regex101.com/r/dz3gh8/1

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top