;;;===========================================================
(defun getNumbers(String / match matches regex strlst)
(setq regex (vlax-create-object "Vbscript.RegExp"))
; (vlax-put-property regex 'IgnoreCase 0) ;不忽略大小写
(vlax-put-property regex 'Global 1) ;匹配方式,1|T|非0数 =全文字匹配,0=只匹配第一个
(vlax-put-property regex 'Pattern "\\d+\\.\\d+|\\d+")
(setq Matches (vlax-invoke-method regex 'Execute String))
(setq strlst '())
(if (< 0 (vlax-get-property Matches 'Count))
(progn
(vlax-for Match Matches
(setq strlst (cons (vlax-get-property Match 'Value) strlst) )
)
) ;_ .progn
) ;_ .if
(vlax-release-object Matches)
(vlax-release-object regex)
(reverse strlst)
)
(defun c:ttt()
(princ(getNumbers "q=10.2KN/m P=100KN M=0.265KN.m"))
(princ(getNumbers "5-6-5"))
(princ(getNumbers "G0.5-0.5"))
(princ(getNumbers " 240."))
; (setq SS (ssget '((0 . "TEXT") (1 . "~*[~`--9]*"))))
(princ)
)