/ / Автоматични изрази - регулярни изрази - регенерация, автоматичен ключ

Регулярни изрази с автоматичен ключ - регенерация, автоматичен ключ

Как мога да превърна това в регулярен израз? По принцип версията # на софтуера продължава да се актуализира заради нови версии и искам да използвам диви карти.

Пример:

Софтуер Pro 0.1.0.123 Лицензионно споразумение

Забележки: Това няма да работи

Софтуерен прозорец * Лицензионно споразумение

Благодаря!

Отговори:

2 за отговор № 1

Това трябва да работи за вас.

haystack := "Software Pro 0.1.0.123 License Agreement"
RegExMatch(haystack, "[d.]+", match)
msgbox % match

[d.]+ съответства на всяка последователна комбинация от a number или . характер.


1 за отговор № 2

^Software Pro ([0-9]+.[0-9]+.[0-9]+.[0-9]+) License Agreement$

Кратка версия (ако d се поддържа за цифри):

^Software Pro (d+.d+.d+.d+) License Agreement$

Най-добре е да избягвате използването на точката . маска. Целта е RegEx да бъде възможно най-стриктен и да съответства точно на това, което търсите.


1 за отговор № 3

Възможно е да търсите RegEx:

"Software Pro [0-9.]+ License Agreement"

Това ще работи дори ако не знаеш колко(например, ако в бъдеще разработчиците решат, че искат само да покажат основната и второстепенната версия, например: "0.1" вместо 0.1.0.123), но знаете, че тя се състои само от цифри и точки.

Ако номерът на версията може да има букви, можете да използвате:

"Software Pro [0-9a-z.]+ License Agreement"

Ако се опитвате да намерите номера на версията и използвайте го за нещо, не забравяйте да я прикрепите в скоби:

"Software Pro ([0-9a-z.]+) License Agreement"

2 за отговор № 4

Това трябва да работи за вас.

haystack := "Software Pro 0.1.0.123 License Agreement"
RegExMatch(haystack, "[d.]+", match)
msgbox % match

[d.]+ съответства на всяка последователна комбинация от a number или . характер.


1 за отговор № 5

^Software Pro ([0-9]+.[0-9]+.[0-9]+.[0-9]+) License Agreement$

Кратка версия (ако d се поддържа за цифри):

^Software Pro (d+.d+.d+.d+) License Agreement$

Най-добре е да избягвате използването на точката . маска. Целта е RegEx да бъде възможно най-стриктен и да съответства точно на това, което търсите.


1 за отговор № 6

Възможно е да търсите RegEx:

"Software Pro [0-9.]+ License Agreement"

Това ще работи дори ако не знаеш колко(например, ако в бъдеще разработчиците решат, че искат само да покажат основната и второстепенната версия, например: "0.1" вместо 0.1.0.123), но знаете, че тя се състои само от цифри и точки.

Ако номерът на версията може да има букви, можете да използвате:

"Software Pro [0-9a-z.]+ License Agreement"

Ако се опитвате да намерите номера на версията и използвайте го за нещо, не забравяйте да я прикрепите в скоби:

"Software Pro ([0-9a-z.]+) License Agreement"