2014-10-24 2 views
0

Я пытаюсь использовать регулярное выражение для замены «AND», это предложение, но я просто хочу заменить первый «AND», который падает после выражения между «BLAH».Регулярное выражение для замены AND

Может кто-то пожалуйста, помогите мне с этим:

Пример строки

AND UserId= 3 AND CreditScore BETWEEN 680 AND 720 AND UserId = 3 AND CreditScore between 800 and 900 and UserId= 3 and 1 = 1 and Income between 212319 and 212320 and 1= 1 

образец результата

AND UserId= 3 AND CreditScore BETWEEN 680 BlAH 720 AND UserId = 3 AND CreditScore between 800 BlAH 900 and UserId= 3 and 1 = 1 and Income between 212319 BlAH 212320 and 1= 1 
+0

Почему вам нужно регулярное выражение, чтобы сделать это? Если вы остановите значения жесткого кодирования в своем SQL и используете параметры вместо этого, вам не придется прибегать к этому типу исправления. (В любом случае, все ГДЕ все испорчено, все части 1 = 1 будут собирать ваши результаты.) –

+0

Что было бы более чистым способом заменить первый и следующий промежуточный оператор, кроме регулярного выражения? Как я уже говорил выше, это строка SAMPLE. – Pawan

+0

Почему вы хотите это сделать? Вероятно, есть лучший подход. –

ответ

0

Включите случае нечувствительной режим, чтобы сделать регистрозависимости матч.

(?i)(between\s+\d+\s+)AND(?=\s+\d+) 

Заменить найденную строку с $1BLAH

DEMO

Смежные вопросы