所以我在Python中使用正则表达式。这是我到目前为止已经得到了(通过RegExr调试):在Python中分组正则表达式
@@(VAR|MVAR):([a-zA-Z0-9]+)+(?::([a-zA-Z0-9]+))*@@
所以我想要匹配是这样的东西:
@@VAR:[email protected]@
@@VAR:param2:[email protected]@
@@VAR:param4:param5:param6:[email protected]@
从本质上讲,你要么VAR或无功其次由一个冒号然后是一些参数名称,然后是结尾字符(@@)或另一个:和一个参数。
所以,我得到的关于正则表达式的组是VAR,第一个参数,然后是参数列表中的最后一个东西(对于最后一个例子,第三个组将是0)。我知道组是由(...)创建的,但有没有什么方法可以使正则表达式匹配多个组,因此参数5,参数6和0位于它们自己的组中,而不是最多只有三组?
我想避免必须匹配这个字符串,然后必须拆分:,因为我认为这是可以用正则表达式完成的。也许我正在接近这个错误的方式。
本质上,我试图看看我是否可以在匹配过程中找到并拆分,而不是在后期处理中。
好的,好吧,那么几乎可以回答这个问题。我会用正则表达式找到字符串,然后使用split来解析它。 – wibarr