所以我需要找到一个正则表达式来解析几个具有相同正则表达式的不同情况。
第一种情况:
Type(arg1, arg2)
我需要从该字符串中获取 Type
、arg1
和 arg2
。
第二种情况:
Type(arg1, arg2, ...) (the number of args is variable)
我需要获取 Type
、arg1
、arg2
和所有其他 arg。
第三种情况:
Type(arg1 + arg2) or Type(arg1 - arg2) or (lets just say that it can take really any form)
这里我需要Type
和arg1 + arg2
注意:我不反对使用两个正则表达式,这意味着如果我可以用一个正则表达式得到“Type”和括号内的任何内容,然后使用第二个正则表达式将逗号分隔的 args 分开,那没问题,只是不行首选。
最佳答案
您可以使用如下正则表达式:
(\w+\s*[+-]?\s*\w+)
更新:如果你的模式可以采用任何形式,那么你可以使用这个模式:
([^(),\n]+)
这个想法是匹配除了括号、逗号和换行符之外的任何东西
关于c++ - 解析字符串的正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40265063/