我需要弄清楚如何从类似下面的字符串中提取模式的异常(例如:AAA | AAA):
InputString := "PGA|MGA v _ 914:00 x a: EDA|EFG v 7 913:42 x 5:: PFD|GRM"
RegexMatch(InputString, "([A-Z]{3})\|([A-Z]{3})", Match)
strMessage := "InputString = '" . InputString . "'"
strMessage .= "`nName = '" . Match1 . "'"
MsgBox, % strMessage
我试过这段代码,但很清楚它是不正确的。
我也尝试过:
InputString := "PGA|MGA v _ 914:00 x a: EDA|EFG v 7 913:42 x 5:: PFD|GRM"
Pos:=RegExMatch( InputString, "g)([A-Z]{3})\|([A-Z]{3})", Match)
Msgbox % Match1
但没有......也许我在语法上做错了什么?
答案 0 :(得分:0)
答案 1 :(得分:0)
来自RegExMatch页面上的帮助文档Global matching and Grep (forum link)的链接。
我发现这个page更有帮助!
尝试:
InputString := "PGA|MGA v _ 914:00 x a: EDA|EFG v 7 913:42 x 5:: PFD|GRM"
MsgBox % Format("Match #1 {1:}`nMatch #2 {2:}`nMatch #3 {3:}"
, RegExMatchAll(InputString, "([A-Z]{3}[|][A-Z]{3})")*)
; Return Array of all Matches found!
RegExMatchAll(Input, Pattern, Pos=1) {
matches := []
While Pos := RegExMatch(Input, Pattern, m,Pos+StrLen(m))
matches.push(m)
return matches
}