|
|
|
преобразование шаблона строки к RegExp
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Есть шаблон для проверки строк. Формат его такой: ~(<неправильныйответ>)&(<слово1>&<сл?во2>&<слов*3>V<другоеслово>) т.е. строки "слово1 слОво2 словоооо3" и "другоеслово" будут верными, все остальное - нет, включая и "неправильныйответ". Вопрос такой - как это чудо можно привести к regexp'у ? Язык - JS. пока есть парсер, но хотелось бы через regexp проверять. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2008, 17:19:11 |
|
||
|
преобразование шаблона строки к RegExp
|
|||
|---|---|---|---|
|
#18+
Какие приоритеты у правильных\неправильных ответов? Неправильные ответы имеют больший или меньший приоритет над правильными? Т.е. ~(a?c)&(a*c) с ответом abc что даст? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 10:09:11 |
|
||
|
преобразование шаблона строки к RegExp
|
|||
|---|---|---|---|
|
#18+
это же булева логика, тут нет приоритетов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 10:54:05 |
|
||
|
преобразование шаблона строки к RegExp
|
|||
|---|---|---|---|
|
#18+
maXmoэто же булева логика, тут нет приоритетов. Да ну? авторпока есть парсер, но хотелось бы через regexp проверять. Вы телепатически поняли, что там на выходе у этого парсера? И в любом случае, если у нас тут булева логика, то шаблоны неправильных ответов имеют высший приоритет. Т.е. (!true && true) дадут на выходе ложь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 11:07:14 |
|
||
|
преобразование шаблона строки к RegExp
|
|||
|---|---|---|---|
|
#18+
The_ShadoWmaXmoэто же булева логика, тут нет приоритетов. Да ну?ну да. Выражения тут вычисляются . Есть только один ответ на вопрос, чему равно (!true && true), так же как и на вопрос, чему равно дважды два. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 11:14:12 |
|
||
|
преобразование шаблона строки к RegExp
|
|||
|---|---|---|---|
|
#18+
Ну что ж делать, с телепатами соревноваться не могу Если у автора в парсере оно действительно вычисляется в соответствии с булевой записью - флаг в руки. Автору же скажу, что без двух регэкспов как минимум ему не обойтись, одним регэкспом невозможно одновременно проверить совпадения и не совпадения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 11:19:42 |
|
||
|
преобразование шаблона строки к RegExp
|
|||
|---|---|---|---|
|
#18+
ЗЫ: Кстати, Вашей могучей телепатии слова топикстартера явно противоречат. авторт.е. строки "слово1 слОво2 словоооо3" и "другоеслово" будут верными, все остальное - нет, включая и "неправильныйответ". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 11:21:50 |
|
||
|
преобразование шаблона строки к RegExp
|
|||
|---|---|---|---|
|
#18+
неа, не противоречит, формула ведёт себя ровно так, как и описано словами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 13:21:25 |
|
||
|
преобразование шаблона строки к RegExp
|
|||
|---|---|---|---|
|
#18+
Некоторым программистам, когда они сталкиваются с какой-то проблемой, приходит в голову такая мысль — О, я знаю! Это можно сделать с помощью регулярных выражений! Это означает, что у этого програмиста теперь ДВЕ проблемы. (c) http://www.bash.org.ru ______________________________________________________________ У меня иногда такое ощущение, что люди читают совсем не то, что я пишу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2008, 20:33:10 |
|
||
|
преобразование шаблона строки к RegExp
|
|||
|---|---|---|---|
|
#18+
Asm64DНекоторым программистам, когда они сталкиваются с какой-то проблемой, приходит в голову такая мысль — О, я знаю! Это можно сделать с помощью регулярных выражений! Это означает, что у этого програмиста теперь ДВЕ проблемы. (c) http://www.bash.org.ruНе надо, bash здесь совершенно ни при чем. Автор этой шутки Jamie Zawinski, один из разработчиков Netscape. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2008, 00:57:06 |
|
||
|
преобразование шаблона строки к RegExp
|
|||
|---|---|---|---|
|
#18+
maXmoнеа, не противоречит, формула ведёт себя ровно так, как и описано словами. Возьмите <другоеслово> = <неправильныйответ> и попробуйте еще раз. авторт.е. строки "слово1 слОво2 словоооо3" и "неправильныйответ" будут верными, все остальное - нет, включая и "неправильныйответ" Круто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2008, 09:04:18 |
|
||
|
преобразование шаблона строки к RegExp
|
|||
|---|---|---|---|
|
#18+
The_ShadoWВозьмите <другоеслово> = <неправильныйответ>будет ложь в точности как и описано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2008, 11:05:50 |
|
||
|
преобразование шаблона строки к RegExp
|
|||
|---|---|---|---|
|
#18+
Всем спасибо большое! Ближе всего мне показался ответ The_ShadoW про 2 regexp'a. Asm64DЭто означает, что у этого програмиста теперь ДВЕ проблемы... Проблемы не 2, а гораздо больше. Одна из них - доказать, что просто прикрутить регулярные выражения за пару минут - не есть решение. Еще выяснилось, что JS-функциональность должна быть близкой к sql-проверке (select * from dual where...), где каждая фраза <a>&<b> заменялась на str like '% a %' and str like '% b %'. Т.е. без учета последовательности. Значит для regExp выражения надо разворачивать. Автор строчки может указать: (<a>&<b>&<c>)&~(<b>&<a>&<c>). Значит разворачивание тут будет избыточное, ну и ладно. А потом заюзать 2 regExp'a. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2008, 21:59:15 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35669275&tid=1344776]: |
0ms |
get settings: |
12ms |
get forum list: |
9ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
64ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 358ms |

| 0 / 0 |
