Подскажите с REGEX

Статус
Закрыто для дальнейших ответов.

Dorian_Gray

Client
Регистрация
21.01.2018
Сообщения
226
Благодарностей
339
Баллы
63
Имеется список
/admin/test/001
/admin/test/m12
/moskva_zelenograd/test/1995
нужно регуляркой отловить первый / в каждой строке (пример выделил красным)
/admin/test/001
/admin/test/m12
/moskva_zelenograd/test/1995
Благодарю
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Код:
(?<=(^|\n))/
 
  • Спасибо
Реакции: Dorian_Gray

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 600
Баллы
113
что значит отловить? Удалить?
 

Dorian_Gray

Client
Регистрация
21.01.2018
Сообщения
226
Благодарностей
339
Баллы
63
что значит отловить? Удалить?
Работаю со списком,
/admin/test/001
/admin/test/m12
/moskva_zelenograd/test/1995
к каждой строке списка следует добавить https://site.com

Все через тестер рег выражений работает, но в C# отказывается

Сам код для наглядности

// получаем список, в котором будем искать
var sourceList = project.Lists["links"];

var parserRegex = new Regex("(?<=(^|\n))/"); // Вот регулярка

lock(SyncObjects.ListSyncer)
{
for(int i=0; i < sourceList.Count; i++) // Пробегаемся по списку
{
if (parserRegex.IsMatch(sourceList)) // Если регулярка срабатывает, то..
{
sourceList=project.Variables["save_links"].Value; // Заменяем найденый регуляркой элемент, на элемент в переменной "save_links
}
}
}

Если подскажете как решить данный вопрос без костылей, стандартными методами zenno - буду признателен:bt:
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 600
Баллы
113
т.е. если в начале слеш - подставть в начало сайт? Если слеша нет - ничего не делать?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 600
Баллы
113
Код:
var sourceList = project.Lists["links"];

lock(SyncObjects.ListSyncer)
{
    for(int i=0; i < sourceList.Count; i++) // Пробегаемся по списку
    {
        if (sourceList[i][0]=='/')
        {
            sourceList[i] = project.Variables["save_links"].Value + sourceList[i];
   
        }
    }
}
 
  • Спасибо
Реакции: Dorian_Gray

Dorian_Gray

Client
Регистрация
21.01.2018
Сообщения
226
Благодарностей
339
Баллы
63
Код:
var sourceList = project.Lists["links"];

lock(SyncObjects.ListSyncer)
{
    for(int i=0; i < sourceList.Count; i++) // Пробегаемся по списку
    {
        if (sourceList[i][0]=='/')
        {
            sourceList[i] = project.Variables["save_links"].Value + sourceList[i];
  
        }
    }
}
Не принимает, может быть я где ошибаюсь, прикрепил архив с примером.
 

Вложения

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 600
Баллы
113
Не принимает, может быть я где ошибаюсь, прикрепил архив с примером.
в твоём шабе файл н епривязан к списку, в сниппете нет переменной результата или выбранной галки (безз переменной)
 
  • Спасибо
Реакции: Dorian_Gray
Статус
Закрыто для дальнейших ответов.

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