Регулярное выражение Я хочу использовать это: ^(?=.*[,])(,?)ABC(,?)$
Строка поиска с регулярным выражением SQL Server
То, что я хочу, чтобы выйти является:
^ // start
(?=.*[,]) // contains at least one comma (,)
(,?)ABC(,?) // The comma is either in the beginning or in the end of the string "ABC"
$ // end
Конечно ABC
это должно быть переменной на основе моих искать термин.
ABC = 'abc'
Так что, если потом ",abc"
, "abc,"
, ",abc,"
будет соответствовать, но не "abc"
или "abcd"
Лучший способ сделать это также приветствуется.
Значение в записи выглядит как "abc,def,ghi,ab,cde..."
, и мне нужно выяснить, содержит ли он мой элемент (т. Е. 'abc'
). Я не могу изменить структуру данных. Мы можем предположить, что ни в коем случае запись не будет содержать только одно вспомогательное значение, поэтому правильно предположить, что в значении всегда есть запятая.
Так вы хотите искать 'term' в строке, имеющей запятую разделенные термины? –
Да в основном регулярное выражение говорит все. Он должен иметь одну запятую либо в начале, либо в конце, чтобы моя строка не была подстрокой другой строки, и она будет соответствовать, если это первая строка или последняя. – DDan
как насчет разделения строки разделителем запятой, а затем поиск после разделения? – Angelo