gpt4 book ai didi

java - Regex 适用于 Regexpal,但不适用于 Java

转载 作者:行者123 更新时间:2023-12-02 00:22:55 24 4
gpt4 key购买 nike

注意:我刚刚学习了正则表达式,因此它可能是一个蹩脚的模式

我破解了这个正则表达式

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 上测试它时,它工作得很好 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

最佳答案

我的猜测是它与正则表达式中的 .+ 有关。尝试:

开始 VB\.Label lblError[0-9A-Za-z\-\'\s\=\"\&]+\sIndex\s+=\s+[0-9]+

我测试了它并且有效。 Demo Here

关于java - Regex 适用于 Regexpal,但不适用于 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10604709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com