26

Re: AHK: Регулярные выражения и особенности RegExMatch

teadrinker
Немного не так. Нужно чтобы перед запрещенным словом шло не запрещенное, или что угодно(.*)
Короче, покажу на примере моей задачи:
Допустим есть текст:
score_something_min=54
где вместо something может быть любое слово, а на месте цифр могут быть любые цифры. И сейчас RegExMatch даст сбой, так как перед знаком равно есть слово _min. Но если исходный текст будет таким:
score_something=54
то RegExMatch выполнится. Такой шаблон мне нужен.

27

Re: AHK: Регулярные выражения и особенности RegExMatch

Так он и "выполнится", что бы вы под этим не понимали:

RegexMatch("score_something=54","^((?!min).)*$", match)
msgbox % match
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

28

Re: AHK: Регулярные выражения и особенности RegExMatch

teadrinker
Просто мне нужно то что будет под любым словом и любой цифрой занести в Subpattern и в дальнейшем использовать..

29

Re: AHK: Регулярные выражения и особенности RegExMatch

input := "score_Something_min=10"

;На месте слова Something может быть любое другое слово.
;И вот мне нужно используя RegExMatch взять из этого текста только score_слово
;а чтобы всё остальное проигнорировалось.



RegExMatch(input, "score_([^_]*)", SubPat)
MsgBox, %SubPat1%
MsgBox,  score_%SubPat1%

30

Re: AHK: Регулярные выражения и особенности RegExMatch

ypppu
Это был ответ teadrinker а не просьба показать как это делается.

31 (изменено: vladmany, 2018-12-01 22:36:42)

Re: AHK: Регулярные выражения и особенности RegExMatch

Вообщем, моя задача такая:
Нужно в этот шаблон

RegExMatch("score_something_min=54", "score_(.*)=(.*)", MaxSc)

добавить правило, что после score_(.*) не должно быть слова _min.

32

Re: AHK: Регулярные выражения и особенности RegExMatch

Я отвечал на первое сообщение в теме. Задача изменилась? А точно известно, что в самом Something не может быть "_min"?

33

Re: AHK: Регулярные выражения и особенности RegExMatch

Так?

RegexMatch("score_something_min=54","score_((?:(?!min).)*?)=(.*)", match)
MsgBox, % match  . "`n"
        . match1 . "`n"
        . match2
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

34

Re: AHK: Регулярные выражения и особенности RegExMatch

teadrinker
Да, то что нужно. Благодарю за помощь!

35

Re: AHK: Регулярные выражения и особенности RegExMatch

Главное, чтобы вы разобрались, как это работает.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

36

Re: AHK: Регулярные выражения и особенности RegExMatch

vladmany пишет:

если RegExMatch всё это умеет, зачем использовать ещё и InStr()?

Чтобы потом было проще при необходимости вносить коррективы в код.
Из своего опыта - без постоянной практики спустя время разобрать мудрёную регулярку будет тяжело.

37

Re: AHK: Регулярные выражения и особенности RegExMatch

Malcev, учту.

38

Re: AHK: Регулярные выражения и особенности RegExMatch

Как сделать шаблон не обязательным? К примеру у меня есть текст:
clear @p[score_Clear=1] minecraft:redstone_block 2 4 {Test:131}
При этом, этого - {Test:131} в нём может и не быть.
Его находит шаблон
clear (.*) (.*) (.*) (.*) (.*)
Но нужно сделать так, чтобы последний (.*) был необязателен, то-есть при тексте
clear @p[score_Clear=1] minecraft:redstone_block 2 4
Этот шаблон его находил.
Пытался делать вот так
clear (.*) (.*) (.*) (.*) (.*)?
Но это не работает.
Как всегда, буду благодарен за помощь..

39

Re: AHK: Регулярные выражения и особенности RegExMatch

Мало что понятно. Зачем текст нужно "находить", если он уже "есть".

vladmany пишет:

К примеру у меня есть текст:

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

40

Re: AHK: Регулярные выражения и особенности RegExMatch

teadrinker, ну всмысле RegExMatch его находит при таком шаблоне.

41

Re: AHK: Регулярные выражения и особенности RegExMatch

Иными словами, нужен шаблон, чтобы было либо что-то, либо вообще ничего. И это взять в скобки, чтобы оно отправилось в переменную.

42

Re: AHK: Регулярные выражения и особенности RegExMatch

vladmany пишет:

всмысле RegExMatch его находит при таком шаблоне.

Находит где, в самом себе?

vladmany пишет:

это взять в скобки

Это???

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

43 (изменено: vladmany, 2018-12-07 22:25:02)

Re: AHK: Регулярные выражения и особенности RegExMatch

Ну я имел в виду, если прописать
If RegExMatch("clear @p[score_Clear=1] minecraft:redstone_block 2 4 {Test:131}", "clear (.*) (.*) (.*) (.*) (.*)")
И этот if выполнится.
А мне нужен шаблон, который выполниться даже если на месте " {Test:131}" (без кавычек) будет ничего.

44

Re: AHK: Регулярные выражения и особенности RegExMatch

Не увидел смысла в задаче. Зачем представлять текст в виде шаблона, если уже есть точная строка?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

45

Re: AHK: Регулярные выражения и особенности RegExMatch

teadrinker, этот текст в виде примера, на его месте может быть другой.

46

Re: AHK: Регулярные выражения и особенности RegExMatch

Тогда как можно понять, какой шаблон должен быть, если текст может быть любым? И откуда он возьмётся в коде?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

47

Re: AHK: Регулярные выражения и особенности RegExMatch

teadrinker, просто нужно сделать чтобы было либо что угодно с пробелом перед этим что угодно, либо нечего без пробела.

48

Re: AHK: Регулярные выражения и особенности RegExMatch

vladmany пишет:

Пытался делать вот так
clear (.*) (.*) (.*) (.*) (.*)?
Но это не работает.

Конечно не сработает, так как у вас в шаблоне 4 пробела, а в исходном тексте 3.

49 (изменено: vladmany, 2018-12-07 23:09:50)

Re: AHK: Регулярные выражения и особенности RegExMatch

Malcev, да я уже понял. Сделал два последних шаблона слитно, но из-за этого в один Subpatern сразу два шаблона уходит. На пиложенных скринах видно что без пробела после "clear @p[score_Clear=1] minecraft:redstone_block 2 4" все нормально, а когда он добавляется, начинается то, что мне не нужно, эти два последних шаблона должны в разные сабпатерны уходить.

Post's attachments

Screenshot_4.png
Screenshot_4.png 50.68 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

50 (изменено: vladmany, 2018-12-07 23:11:21)

Re: AHK: Регулярные выражения и особенности RegExMatch

.

Post's attachments

Screenshot_5.png
Screenshot_5.png 50.66 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.