我正在尝试使用正则表达式匹配一个字符串,并且我非常接近让它以我想要的方式工作。
假设我有一个字符串 5A(test1),4B,3C(test2)
我做的第一件事是用逗号将字符串分开,所以我最终得到了一个数组中的 3 个字符串
- 5A(测试1)
- 4B
- 3C(测试2)
现在我想提取以下信息;括号中的数字、字母和内容。但括号是可选的。
这是我的模式
([1-9][0-9]*)([AaBbCcIiFfPpSs]+)(\(.*\))?
除了包含括号外,这有效。所以
当我想要的是
5 A test1时,我得到
5 A (test1)
我也试过
([1-9][0-9]*)([AaBbCcIiFfPpSs]+)\(([^)]*)\)?
但是这在没有括号的字符串上不匹配,所以
5A(test1) 和 3C(test2) 匹配但 4B 不匹配。
任何援助将不胜感激。