注意:我刚学过正则表达式,所以它可能是一个糟糕的模式
我破解了这个正则表达式
Begin VB\.Label\s+([^\s]+)\s+.+\s+Caption\s+=\s*("([^"]+)")\s+.+\s+Index\s+=\s*([0-9]+)
匹配 VB6 .frm 文件中的这些表单控件
Begin VB.Label lblError
AutoSize = -1 'True
Caption = "Blah blah"
Height = 195
Index = 49
Left = 105
TabIndex = 31
Top = 3135
Width = 4455
End
当我在 Regexpal 上测试它时,它运行良好
但matcher.find()
只找到完全垃圾字符串
Error [&About] - "&About"
这是我逃脱的 Java 匹配器
Pattern pat = Pattern.compile("Begin VB\\.Label\\s+([^\\s]+)\\s+.+\\s+Caption\\s+=\\s+(\"([^\"]+)\")\\s+.+\\s+Index\\s+=\\s+([0-9]+)");
编辑:这是实际匹配的:
Begin VB.Menu mnuHelp
Caption = "&About"
Index = 5
End