Я провел несколько часов, исследуя это, и я довольно тупой, вероятно, из-за моего частого использования выражений RegEx.MS-SQL 2008 Всего слов совпадений
Я ищу, чтобы соответствовать все слово в любом столбце типа VARCHAR или TEXT в Microsoft SQL 2008.
У меня есть CLR Ассамблеи RegEx Function installed.
мне нужно, чтобы соответствовать пистолет в этих типовых случаях:
- пистолет Loaded
- Loaded Gun
- My Gun загружается
, а не в эти случаи:
- Пушка большой
- У меня есть оружие
- Моих пушки больших
Я предпочел бы не пойти вниз полнотекстовой поиск маршрута.
Вот некоторые вещи, которые я пробовал, но потерпел неудачу:
WHERE PATINDEX('%[^a-zA-Z_]' + @keyword + '[^a-zA-Z_]%', name) > 0
... не принимает во внимание слова в начале строки
WHERE name LIKE '%\b' + @keyword + '\b%'
... ничего не возвращает
WHERE name LIKE '%[^A-Za-z]' + @keyword + '[^A-Za-z]%'
... не принимает во внимание слово в начале строки
... наряду с некоторыми другими я не спасти
я не могу полагаться на обычных тестеров выражения, такие как http://gskinner.com/RegExr/, чтобы получить меня через это. Любая помощь оценивается.
Вы действительно используете функцию регулярного выражения CLR? примеры, которые у вас есть, не похожи. –
Я хватаю эту вторую руку. Я думал, что существующий код не похож на документы. Я посмотрю, не могу ли я понять эти документы. Благодарю. –
Вы не используете какую-либо функцию CLR ... только собственные функции 'LIKE' и' PatIndex'. – ErikE