76

Re: AHK: Вопросы по RegExp [, RegEx, RegExMatch, RegExReplace]

И ещё проще:

text := "zaabb,xbbcazaczcxdd"
MsgBox, % RegExReplace(text, "\G(\A[^,]*)?+.*?\K[zx]")
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

77 (изменено: teadrinker, 2017-11-10 02:07:58)

Re: AHK: Вопросы по RegExp [, RegEx, RegExMatch, RegExReplace]

\A это то же самое, что ^

text := "zaabb,xbbcazaczcxdd"
MsgBox, % RegExReplace(text, "\G(^[^,]*)?+.*?\K[zx]")

точнее, отличается только в многострочном режиме.

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

78

Re: AHK: Вопросы по RegExp [, RegEx, RegExMatch, RegExReplace]

Вопрос по RegExMatch.
"a" должна быть только с одной стороны от "|".
b|b  ; false
a|a  ; false
a|b  ; true
b|a  ; true

По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

79

Re: AHK: Вопросы по RegExp [, RegEx, RegExMatch, RegExReplace]

По прошлому вопросу придумал только как не удалять первый символ, как бы его под несколько символов переделать, не только для "а".

text = zaabbxbbcaaaaaccdd  ; abcdd
MsgBox, % RegExReplace(text, "((?<=a)([^a]*)a)", "$2")
По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

80

Re: AHK: Вопросы по RegExp [, RegEx, RegExMatch, RegExReplace]

serzh82saratov пишет:

"a" должна быть только с одной стороны от "|".

Это вроде просто:

str1 := "b|b"
str2 := "a|a"
str3 := "a|b"
str4 := "b|a"

Loop 4
   MsgBox, % RegExMatch(str%A_Index%, "a\|[^a]|[^a]\|a")
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

81

Re: AHK: Вопросы по RegExp [, RegEx, RegExMatch, RegExReplace]


MsgBox % (RegExMatch(str%A_Index%, "a\|") ? true : false)
       ^ (RegExMatch(str%A_Index%, "\|a") ? true : false)