2015-08-14 3 views
-1

Я борюсь с тем, что, скорее всего, очень простое регулярное выражение.Как извлечь название компании из этого выражения?

Рассмотрим этот текст я желаю, чтобы оценить:

??Company=My Company Name Ltd??Address= 29 Acacia Road, Nuttytown, AA1 9AA??Description=A very rambling description here... goes on for a bit and then [email protected]??Version=Super Plus??Expiration date=01/01/2026??First name=Bert??Last name=Bloggs?? 

Я хочу, чтобы извлечь строку для My Company Name Ltd что между Company = и ?? Адрес = теги ,

Прошу вас, какая-нибудь душа, из-за моих страданий!

+2

http://stackoverflow.com/questions/6109882/regex-match-all-characters-between-two-strings –

+0

'\? {2} Компания = ([A-Za-Z] +) \ ' – Cyclonecode

+0

Благодарим за помощь. – mc1903

ответ

0

Вы можете попробовать это

/(?<=\?{2}Company=)(.*?)(?=\?{2})/ 

я использовал (?<=) и просмотра назад смотреть вперед (?=) так что ??Company= и ?? не входит в матче.

Regex

+0

Можете ли вы углубить свой ответ? Это не правильный ответ. –

+0

[Проверить это] (https://regex101.com/r/uF4oY4/36) @AltayMazlum –

+0

Любые проблемы с моим регулярным выражением @AltayMazlum –

0

Хотя мы обычно хотим, чтобы увидеть, что вы уже пробовали, я был в вашей ситуации - полный нуб и не зная даже, с чего начать, так что надеюсь, что это помогает ...

Поскольку вы знаете, каждый тег начинается с ?, вы можете использовать следующее:

\?\?Company\=([^?]*) 

Это в основном говорит:

  1. Он начинается с ??Company=
  2. Возьмите всех персонажей после этого, пока не найдете следующий символ ? и поместите их в группу захвата.

Надежда, что делает трюк

+0

Спасибо. Я рад, что вы не спросили, что я пробовал, прежде чем помогать мне. Для записи: я попробовал Google и понял, что я не получаю ее. Затем у меня была чашка чая и пирог, чтобы я чувствовал себя лучше. Затем я спросил сообщество экспертов, и вы пришли мне на помощь. Cheers :-) – mc1903

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