我怎样才能把它变成一个正则表达式?基本上,软件的版本号会因为新版本而不断更新,我想要一种使用通配符的方法。
例子:
Software Pro 0.1.0.123许可协议
注意:这行不通
Software Pro .* 许可协议
谢谢!
我怎样才能把它变成一个正则表达式?基本上,软件的版本号会因为新版本而不断更新,我想要一种使用通配符的方法。
例子:
Software Pro 0.1.0.123许可协议
注意:这行不通
Software Pro .* 许可协议
谢谢!
您可能正在寻找的 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"
这应该适合你。
haystack := "Software Pro 0.1.0.123 License Agreement"
RegExMatch(haystack, "[\d\.]+", match)
msgbox % match
[\d\.]+
number
匹配 a或.
字符的任何连续组合。
^Software Pro ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+) License Agreement$
较短的版本(如果 \d 支持数字):
^Software Pro (\d+\.\d+\.\d+\.\d+) License Agreement$
通常最好避免使用点.
通配符。目标是让 RegEx 尽可能严格,并且只匹配您正在寻找的内容。