2015-02-08 5 views
2

В моей программе я пытаюсь совместить строку, которая имеет две буквы, а затем несколько слов между ними, например: "! hello my name !" В этом примере строка "hello my name" может изменяться в количестве слов к строке, такой как: "hello" или даже больше слов. В любом случае, как я могу совместить строку между восклицательными знаками? Основная проблема заключается в том, что я не могу понять выражение для использования в совпадении строк для представления строки с несколькими словами неизвестной длины.Соответствующие строки с несколькими словами между двумя словами

+0

Вам, вероятно, нужно посмотреть на регулярные выражения. – BobRodes

+0

У меня есть, но я не могу найти ни одной последовательности слов, где количество слов может иметь переменную длину. – user3496349

ответ

4

Используйте шаблон !([^!]+)!, в котором [^!]* соответствует нулю или нескольким символам, которые не являются !.

print(string.match("! hello my name !","!([^!]*)!")) 
1

Попробуйте также шаблон "!(.-)!".

Это соответствует строке кратчайшего этой формы, в отличие от "!(.*)!", который соответствует длинным один.

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