2012-05-31 2 views
-1

у меня есть кандидат строка:Regex: Получить список ключевых слов между строковыми литералами

{{keywords: "blah blah", "blah, blah blah", "blah, blah some other text"}} 

Используя регулярное выражение, как бы я получить список цитируемых ключевых слов?

Update:

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

  1. Проверьте полный фрагмент текста содержит ключевые слова строки:

    {{keywords[ ]*([^}]+)}}

  2. Разбейте resultan т запятые цитируемого текста на часть:

    "([^"]+)"+

+2

** [Что вы пробовали?] (http://whathaveyoutried.com) ** –

+0

К сожалению, я должен добавить мне нужно, чтобы убедиться, что соответствие начинается только после того, как {{ ключевые слова: – ne0ge0

+0

Я попытался использовать следующие: {{ключевые слова: («[^»] * ") + но это только соответствует первой кавычках – ne0ge0

ответ

0

Что-то вроде:

/\{\{keywords: "([^"]+)"/gc 

с помощью Perl соглашения. Вы знаете, правильный синтаксис во многом зависит от языка, который вы используете, поэтому, если бы вы могли быть более конкретным, это помогло бы. В Perl вы можете, что вам нужно в два этапа:

string =~ /\{\{keywords: /c; 

это (из-за модификатора c) будет иметь эффект перемещения регулярок указатель после {{keywords:; то вы могли бы сделать:

/"([^"]+)"/gc 
Смежные вопросы