可以使用正则表达式 `\(([^()]*)\)` 来匹配所有括号中的内容。然后再根据需要进行进一步处理,例如使用捕获组来提取前面和后面的内容。
具体做法如下:
1. 使用正则表达式 `^[^(]*\(` 匹配左括号前面的内容,即函数名之前的部分。具体解释如下:
- `^` 匹配字符串开头
- `[^(]*` 匹配除了左括号之外的任意字符,直到左括号为止
2. 使用正则表达式 `\)([^()]*)$` 匹配右括号后面的内容,即函数调用结束之后的部分。具体解释如下:
- `\)` 匹配右括号
- `[^()]*` 匹配除了左右括号之外的任意字符,直到字符串结尾
3. 使用正则表达式 `\(([^()]*)\)` 匹配所有括号中的内容,即函数调用中间的参数部分。具体解释如下:
- `\(` 匹配左括号
- `([^()]*)` 使用贪婪模式匹配除了左右括号之外的任意字符,直到遇到右括号为止,并将匹配结果保存在捕获组中
- `\)` 匹配右括号
因此,对于字符串 `高级表格.创建(列表.创建爱你(我的,我爱你),表格.创建安(俺的,我的,他的),海底)`,使用上述三个正则表达式可以分别匹配出 `高级表格.创建`、`,海底` 和 `(列表.创建爱你(我的,我爱你),表格.创建安(俺的,我的,他的))`。然后再根据需要进行进一步处理,例如使用捕获组来提取前面和后面的内容