2015-03-12 4 views
0

Я пытаюсь использовать регулярное выражение для поиска моделей процессоров из списка, чтобы он возвращался как с «Intel Core i7-4710HQ», так и с AMD A10-5745M. Что я использовал для извлечения только моделей Intel было «/Intel(.*)/», но как бы получить обе модели.Regex найти несколько совпадений в списке

Пример списка:

  • DVD +/- RW
  • DDR3L SDRAM (2 модуля DIMM)
  • Intel Core i7-4710HQ
  • 12 Гб
  • AMD A10 -5745M
  • 128GB SSD

Что было бы правильным выражением для извлечения такой информации из списка?

+0

Просто проверьте, начинается ли строка с «Intel» или «AMD» или любого другого производителя процессора. Это не будет идеально, но мне. –

ответ

0

Если всем вашим моделям процессоров предшествует их имя производителя, вы можете сделать что-то вроде этого: (((Intel)|(AMD)).+). Пример регулярного выражения доступен here.

Кроме того, вы, в зависимости от языка, который используете, можете видеть, содержит ли язык startsWith или indexOf.

+0

Я ценю ваш ответ. Это помогает много! Благодарю вас. – Horhar

+0

Почему вы закупаете производителя? Просто; 'INTEL | AMD' должно быть достаточно или в худшем случае'^(INTEL | AMD). + ' – Bohemian

+0

@Bohemian: Из того, что я понял, OP хочет полное имя процессора. – npinti

0

Используйте анкеры, чтобы получить всю строку совпадает с многострочной опцией:

^((?:Intel|AMD).*)$

См demo.

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