Здравствуйте, гость ( Вход | Регистрация )

> Регулярные выражения
Fire73
сообщение 16.9.2019, 16:01
Сообщение #1


**

Neophyte
Сообщений: 34
Регистрация: 5.6.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.343
Возраст: 23



Ребят, такая ситуация, такой скрипт.

В текстовом документе REG.txt следующее:
@Zolotoy Serebro Bronza


Код
load_array %arr C:\Users\REG.txt
//log %arr [1]   // первая строка из файла
//log %arr [2]   // вторая

log clear
log mode compact

set $regexp "[^ ]+"
set #n regexp (#pos $one %arr[1] $regexp)  // поиск в строке любого текста до пробела
if  #n = 1
end_if

set $regexp "(?<= )[^ ]+"
set #n regexp (#pos $two %arr[1] $regexp)  // поиск в строке текста после пробела
if  #n = 1
end_if

set clipboard $two
sendex ^v


Вопрос:
1) $two в моем случае это - Serebro, но как сделать так, чтобы к слову генерировался дополнительный случайный символ, чтобы, например, в итоге получилось Serebrom, Serebroz...?
2) Какое составить регулярное выражение, чтобы к 3 слову в REG.txt было тоже присвоено имя #three
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
FREEON
сообщение 17.2.2020, 15:38
Сообщение #2


*****

Journeyman
Сообщений: 365
Регистрация: 14.2.2017
Группа: Пользователи
Наличность: 23
Пользователь №: 18.346
Возраст: 25



Вот еще задачка. нужно найти все комментарии однострочные и многострочные, но данная регулярка не совсем корректно находит многострочные комментарии. Всего комментариев 7(для наглядности в тексте примера их пронумеровал и отметил жиром) из них: 5 однострочных и 2 многострочных
Вот рег: <!--(.+|(.|\s)*)-->
Вот пример текста:
<!--1 однострочный коментарий-->
текст <!-- 2 Это -- комментарий -->
текст
<!-- 3 многострочный
коментарий
текст какой-то-->
текст
Эт0
к0д
какой-то
<!-- 4
это еще один
ногострочный
коментарий
-->
текст
<!-- 5 это считается коментарием <!-- и это коментарием --> а этот текст уже нет-->
<!-- 6 --><!--7-->
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 17.2.2020, 19:07
Сообщение #3


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 173
Пользователь №: 18.746



Цитата(FREEON @ 17.2.2020, 15:38) *

Вот еще задачка. нужно найти все комментарии однострочные и многострочные, но данная регулярка не совсем корректно находит многострочные комментарии. Всего комментариев 7(для наглядности в тексте примера их пронумеровал и отметил жиром) из них: 5 однострочных и 2 многострочных
Вот рег: <!--(.+|(.|\s)*)-->
Вот пример текста:

<!--1 однострочный коментарий-->
текст <!-- 2 Это -- комментарий -->
текст
<!-- 3 многострочный
коментарий
текст какой-то-->
текст
Эт0
к0д
какой-то
<!-- 4
это еще один
ногострочный
коментарий
-->
текст
<!-- 5 это считается коментарием <!-- и это коментарием --> а этот текст уже нет-->
<!-- 6 --><!--7-->


Код
log clear_current
log mode compact
load_array %a "C:\qwe.txt"
set $rgxp1 "<!--.*?(-->|$)(?!.*(?=<!--))"
set $rgxp2 "^.*?-->(?!.*(?=<!--))"

for #i 1 size(%a)
    if regexp(#p $a %a[#i] $rgxp1)
        log $a
        while copy($a eval(size($a)-2) 3) != -->
            set #i #i + 1
            set #n regexp(#p $a %a[#i] $rgxp2)
            if copy($a eval(size($a)-2) 3) = -->
                log $a
                break
            else
                log %a[#i]
            end_if
        end_while
        log
    end_if
end_for

log save_current C:\qwe_result.txt
exec notepad "C:\qwe_result.txt"
end_script


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
Fire73   Регулярные выражения   16.9.2019, 16:01
cirus   set $two serebro set #rand 97 + random(2...   17.9.2019, 1:32
Fors1k   Ребят, такая ситуация, такой скрипт. В текстовом...   17.9.2019, 12:30
Fire73   Спасибо, ребят! А вот если добавить 2 рандомн...   18.9.2019, 13:05
Fors1k   load_array %arr C:\Users\REG.txt get...   18.9.2019, 13:48
FREEON   Все разабрауся   14.2.2020, 21:38
FREEON   Есть регулярное вырожение: -0x[0-5][0-9]$ как...   16.2.2020, 16:52
Fors1k   Есть регулярное вырожение: [b]-0x[0-5][0-9]...   16.2.2020, 17:06
cirus   Или так: set $rgxp "-0x(0[1-9...   16.2.2020, 17:55
Fors1k   Или так: [code]set $rgxp "-0x(0...   16.2.2020, 18:09
cirus   Fors1k, в твоём коде считаются как один комментар...   18.2.2020, 1:35
Fors1k   Fors1k, в твоём кодесчитаются как один комментарий...   18.2.2020, 4:03
FREEON   Можно и так: <!--(??!-->)[\s...   18.2.2020, 12:40
Fors1k   --lua log "clear" log "mode compact...   18.2.2020, 13:22
FREEON   В какое место кода это вставить? Простите, нужно...   18.2.2020, 13:31
FREEON   [spoiler=code][code]--lua log "clear" lo...   19.3.2020, 20:46


Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 2.7.2025, 3:20
Designed by Nickostyle