Autohotkey正则表达式

时间:2013-10-29 17:29:20

标签: regex autohotkey

如何将其转换为正则表达式?基本上,由于新版本,软件的版本#不断更新,我想要一种使用通配符的方法。

示例:

  

Software Pro 0.1.0.123 许可协议

注意:这不起作用

  

Software Pro。*许可协议

谢谢!

3 个答案:

答案 0 :(得分:2)

这应该适合你。

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

[\d\.]+匹配number.字符的任意连续组合。

答案 1 :(得分:1)

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

较短的版本(如果数字支持\ d):

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

通常最好避免使用点.通配符。目标是使RegEx尽可能严格,并且只匹配您正在寻找的内容。

答案 2 :(得分:1)

您可能正在寻找的RegEx是:

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

即使您不知道版本号可以包含多少部分(例如,如果将来开发人员决定他们只想显示主要版本和次要版本,这将是有效的,例如:&#34 ; 0.1"而不是0.1.0.123),但你知道它只包含数字和点。

如果版本号可以包含字母,您可以使用:

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

如果您要查找版本号和use it for something,请务必将其括在括号中:

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