Как с помощью регулярки привести определенные элементы в нижний регистр?

  • Автор темы Автор темы wisent89
  • Дата начала Дата начала

wisent89

Client
Регистрация
03.09.2018
Сообщения
4
Реакции
0
Баллы
1
Добрый день, уважаемые форумчане, нужна помощь по регуряным выражениям. Есть текст на странице, над которым необходимо произвести замену всех элементов с регулярным выражением: src=".*?" Как сделать так, чтобы все что данным регулярным выражением нашлось - заменить на тоже самое, только в нижнем регистре.
Регулярку используют вот такую: src=".*?"

Т.е. было: src="images/h/PTT-72849Dx-656-40.jpg"

Стало: src="images/h/ptt-72849dx-656-40.jpg"
 
ToLower - преобразование в строчные символы
Стандартная функция замены не подходит, т.к. в целом текст большой и надо изменить регистр только картинок, а не всего текста в целом.
А регулярным выражением пробовал – изменить, у меня не получается.
 
Стандартная функция замены не подходит, т.к. в целом текст большой и надо изменить регистр только картинок, а не всего текста в целом.
А регулярным выражением пробовал – изменить, у меня не получается.
Попробуйте так
C#:
Развернуть Свернуть Копировать
string source = project.Variables["source"].Value;
string pattern = @"(?<=src="").*?(?="")";

Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
MatchCollection matches = regex.Matches(source);

foreach(Match m in matches)
{
    if(m.Value.Length > 0)
        source = source.Replace(m.Value, m.Value.ToLower());
}

return source;
 
  • Спасибо
Реакции: wisent89
Попробуйте так
C#:
Развернуть Свернуть Копировать
string source = project.Variables["source"].Value;
string pattern = @"(?<=src="").*?(?="")";

Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
MatchCollection matches = regex.Matches(source);

foreach(Match m in matches)
{
    if(m.Value.Length > 0)
        source = source.Replace(m.Value, m.Value.ToLower());
}

return source;
Спасибо Вам большое, все отлично работает
 
всем доброго времени суток !

есть текст
HELLO GUYS PLEASE SHARE THIS VIDEO AND LIKE THIS VIDEO AND PLEASE....SUBSCRIBE THIS CHANNEL.....
DOn't Call Him
Support me on Patreon! PATREON:
составил регулярку на замену в нижний регистр
C#:
Развернуть Свернуть Копировать
regexTest = System.Text.RegularExpressions.Regex.Replace(regexTest, @"([A-Z]{2,})", "Что вот здесь написать, чтобы замена на нижний регистр", System.Text.RegularExpressions.RegexOptions.Multiline);

или так не выполняется перевод в нижний регистр
 
Код:
Развернуть Свернуть Копировать
"Что вот здесь написать, чтобы замена на нижний регистр"
Я хез, но возможно так:
Код:
Развернуть Свернуть Копировать
([a-z]{2,})
 
Код:
Развернуть Свернуть Копировать
"Что вот здесь написать, чтобы замена на нижний регистр"
Я хез, но возможно так:
Код:
Развернуть Свернуть Копировать
([a-z]{2,})
туда врядли рег выражение можно вписать , вообщем тоже так же думал , он просто заменяет все что найдет на ([a-z]{2,})
 
Последнее редактирование:
  • Спасибо
Реакции: one
  • Спасибо
Реакции: nicanil
Вам нужно в нижний регистр перевести строку?

Это можно сделать с помощью стандартного экшена Обработка текста - ToLower.
Если нужен C# код, то этот экшен можно конвертировать в код.
да вкурсе что есть такое , вот хочу через это выражение возможно ли...
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)