要找到有关正则表达式的具体答案很棘手,因此,如果是重新发布,我感到抱歉。
正如标题所述,如果其余字符串匹配,则需要获取方括号之间的字符串值。 在我的情况下,特别是十六进制。
例如,这应输出A35
并忽略0。
一棵树上有[A35]只猫和0只老虎。
但这根本不匹配:
一棵树上有[A35]狗和0只老虎。
到目前为止,我已经得到:
There are \[[a-fA-F0-9]+\]+ cats and 0 tigers in a tree.
使用第二个正则表达式获取[]之间的值。
\[(?s)(.*)\]
哪种方法有效,但我怀疑这是最有效的方法。尝试将这两者以及我尝试的其他任何方式结合在一起,似乎会导致模式错误。