如何将其转换为正则表达式?基本上,由于新版本,软件的版本#不断更新,我想要一种使用通配符的方法。
示例:
Software Pro 0.1.0.123 许可协议
注意:这不起作用
Software Pro。*许可协议
谢谢!
答案 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"