Лучшая практика: частичное сопоставление регулярных выражений

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

По сути, я хочу, чтобы мой пользователь мог вводить имя метода и проверять его достоверность после каждого ввода символа. Я определил допустимый формат функции как регулярное выражение, и достаточно легко проверить, совпадают ли они. Проблема в том, что я хотел бы иметь возможность выполнить частичное совпадение, чтобы пользователь знал: «Пока что это действительно».

Например,

+(NSString *)thisIsAValid:(ObjectiveC *)method;

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

[\+-]\(w+\s*\*?\)\w+....etc...

. Но я бы хотел иметь возможность иметь ту же самую строку регулярного выражения "match"

+(NSStr

(что, как я понимаю, является своего рода обратным способом использования регулярного выражения). Я бы по-прежнему не хотел, чтобы регулярное выражение соответствовало

Q)(NStr

Есть ли способ реализовать что-то подобное с помощью стандартных функций регулярных выражений, или мне придется сделать что-то более радикальное?

Большое спасибо! Вы, ребята, бесценны.


Поразмыслив, я полагаю, что мог бы сделать свой вопрос немного более ясным (а также немного более кратким): Обычно для поиска шаблона в тексте используется регулярное выражение. То есть, сколько раз в этом абзаце встречается слово «кот» или «кроватка». Я хочу сделать наоборот, искать строку «в» регулярном выражении. То есть, какая часть этой строки, начиная с начала, соответствует этому регулярному выражению.В конечном итоге я хотел бы вернуть индекс, при котором строка перестает соответствовать рассматриваемому регулярному выражению.

8
задан Dan Cruz 11 January 2012 в 20:33
поделиться