Включает C, C ++, Delphi, EditPad, Java, JavaScript, Perl, PHP (preg), PostgreSQL, PowerGREP, PowerShell, Python, REALbasic, Real Studio, Ruby , TCL, VB.Net, VBScript, wxWidgets, XML Schema, Xojo, XRegExp.PCRE совместимость может различаться
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Anywhere: . ^ $ * + - ? ( ) [ ] { } \ |
Включает поддержку awk, ed, egrep, emacs, GNUlib, grep, PHP (ereg), MySQL, Oracle, R, sed.PCRE версии или с помощью расширений
ERE / awk / egrep / emacs
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Вне класса символов: . ^ $ * + ? ( ) [ { } \ |
& nbsp; & nbsp; & nbsp; & nbsp; Внутри класса символов: ^ - [ ]
BRE / ed / grep / sed
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ; & nbsp; внутри класса символов: ^ - [ ]
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; g16]
\xFF
] -
требуется только экранирование в классе символов, но я сохранил их в одном списке для простоты "(\")(/)(\\.)"
по сравнению с /(")(\/)(\.)/
в JavaScript) К сожалению, у нас нет способа явно заставить Lex оставаться в пределах соответствия значений слотов и не пытаться сопоставить на уровне намерений.
Из моего опыта с этой проблемой (это часто случается, так что это постоянный баланс), значения слотов и имеют приоритет над намеренными высказываниями, когда вы находитесь в намерении. При хорошей структуре бота («намеренная схема») намеренные высказывания, кажется, проверяются только тогда, когда значение слота не находит идеального соответствия. Тем не менее, Lex может проверять оба раза и просто предоставлять наилучшее совпадение, которое в вашем случае будет намеренным высказыванием из-за одной меньшей переменной.
У нас действительно есть только одна форма контроля над этим, как мы устанавливаем значения намерений, высказываний, slotTypes и slotType.
Вот несколько предложений:
Я был наименее успешный с № 3 и наиболее успешный с № 1 и № 2.
Как я уже сказал, это был постоянный балансный процесс, учитывающий структурирование намерений, возможные значения slotType в разных намерениях, любое совпадение входного совпадения и опыт пользователя на естественном языке. Вам придется пожертвовать некоторой свободой / структурой в одной, чтобы дать больше свободы / структуры другой.