/ / Automatyczne wyskakujące wyrażeń regularnych - regex, autohotkey

Wyrażenia regularne Autohotkey - regex, autohotkey

Jak mogę zmienić to w wyrażenie regularne? Zasadniczo wersja oprogramowania aktualizuje się z powodu nowych wydań, a ja chcę mieć sposób na używanie dzikich kart.

Przykład:

Oprogramowanie Pro 0.1.0.123 Umowa licencyjna

Uwagi: To nie działa

Software Pro. * Umowa licencyjna

Dzięki!

Odpowiedzi:

2 dla odpowiedzi № 1

To powinno działać dla ciebie.

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

[d.]+ dopasowuje dowolną kolejną kombinację a number albo . postać.


1 dla odpowiedzi nr 2

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

Krótsza wersja (jeśli d jest obsługiwane dla cyfr):

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

Ogólnie najlepiej jest unikać używania kropki . dzika karta. Celem jest, aby RegEx był jak najbardziej rygorystyczny i dopasowywał dokładnie to, czego szukasz.


1 dla odpowiedzi nr 3

RegEx, którego możesz szukać, to:

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

To zadziała, nawet jeśli nie wiesz, ileczęści, których może mieć numer wersji (na przykład, jeśli w przyszłości twórcy zdecydują, że chcą wyświetlać tylko wersję główną i dodatkową, np .: "0.1" zamiast 0.1.0.123), ale wiadomo, że składa się ona tylko z cyfr i kropki.

Jeśli numer wersji może zawierać litery, możesz użyć:

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

Jeśli próbujesz znaleźć numer wersji i użyj go do czegoś, pamiętaj o zamknięciu go w nawiasach:

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

2 dla odpowiedzi № 4

To powinno działać dla ciebie.

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

[d.]+ dopasowuje dowolną kolejną kombinację a number albo . postać.


1 dla odpowiedzi nr 5

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

Krótsza wersja (jeśli d jest obsługiwane dla cyfr):

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

Ogólnie najlepiej jest unikać używania kropki . dzika karta. Celem jest, aby RegEx był jak najbardziej rygorystyczny i dopasowywał dokładnie to, czego szukasz.


1 dla odpowiedzi № 6

RegEx, którego możesz szukać, to:

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

To zadziała, nawet jeśli nie wiesz, ileczęści, których może mieć numer wersji (na przykład, jeśli w przyszłości twórcy zdecydują, że chcą wyświetlać tylko wersję główną i dodatkową, np .: "0.1" zamiast 0.1.0.123), ale wiadomo, że składa się ona tylko z cyfr i kropki.

Jeśli numer wersji może zawierać litery, możesz użyć:

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

Jeśli próbujesz znaleźć numer wersji i użyj go do czegoś, pamiętaj o zamknięciu go w nawiasach:

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