1
1
其他人已经给出了一个简单的字符串列表的答案,但为了获得强大的类型和适当的类结构,我将提供一个正确封装数据的解决方案。 首先,声明两个类:
然后进行匹配并填充
(顺便说一下,我对正则表达式做了一些细微的修正……现在,它将正确匹配标识符,并且不包括双引号作为每个参数的__value_157;的一部分。)
然后,您可以使用诸如
|
2
2
编辑:
这将有效,使用2个regex。第一个获取函数名及其内部的所有内容,第二个从函数括号内的内容中提取每对参数和值。你不能用一个正则表达式来完成这个操作。添加一些
(旧)解
(旧)解释
让我们删除组捕获,这样更容易理解:
括号(或parens,有些人称之为括号)为 逃脱 使用反斜杠,因为否则它们将捕获组。
这个
这个
(旧)使用
编辑: 现在您添加了一个未定义数量的多个参数,我建议您创建自己的解析器,而不是使用regex。上面的示例只适用于一个参数,并且严格禁止使用空白。这将使用严格的空白匹配多个参数,但不会返回参数和值:
只是为了好玩,就像上面所说的,但是使用WhiteSpace:
捕获您想要的文本将是困难的,因为您不知道将要捕获多少,因此regex不适合。 |
3
1
试试这个:
这个?<gt;括号内称为捕获组,当库支持时,就像在.NET中一样,这样可以更容易地捕获匹配项中的组。 |
4
1
|
5
0
对于这样的问题,我总是建议人们不要“找到”一个正则表达式,而是写多个共享工作的正则表达式。 但这是我的快速镜头:
空白是为了更好的可读性。删除它们或设置忽略模式空白的选项。 |
6
0
此regex通过所有测试用例:
这在多个参数上工作,没有参数。它还处理参数名中的特殊字符和逗号后的空白。可能需要进行一些调整,因为您的测试用例并没有涵盖您在文本中指出的所有内容。
请注意
|
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
Katia · 根据特定规则进行多行匹配 2 年前 |
MHA · Pandas str.extract()以字母结尾的数字 2 年前 |
Slava Vir · 如何查找后面“/”之间的最后一组 2 年前 |