gpt4 book ai didi

正则表达式挑战将不同的规则分成两组

转载 作者:数据小太阳 更新时间:2023-10-29 03:25:19 26 4
gpt4 key购买 nike

我有以下数据:

msg=hello  msg=hellohello age:  s35  { getAge } for  name=peter id="123"

我想使用正则表达式将它们分类为以下第 1 组(冒号左侧)和第 2 组(冒号右侧)结构:

msg : hello  
msg : hello/hello
age : thirtyfive { getAge } for
name: peter'
id : "123"

我想出了下面的正则表达式

([^,=\s]*)=([^,\s]*)|([^= ]*):  ([^=]*for)

除了我有一个不幸的约束之外,这完成了工作。我只能允许两个正则表达式组。如您所见,“年龄”属性和相应的键对应地位于第 3 组和第 4 组中。

如何在正则表达式中将它们全部分组到两个组中?

最佳答案

which programing language are you using ?

因为你没有回复,我会为pythonphp提供一个正则表达式:

Python:

import re
result = re.sub(r"([a-z]+)(?:=|:\s+)(\d+.*?for |[^ ]+)", "\\1: \\2\n", original, 0, re.IGNORECASE | re.DOTALL | re.MULTILINE)

PHP:

$result = preg_replace('/([a-z]+)(?:=|:\s+)(\d+.*?for |[^ ]+)/sim', '\1: \2\n', $original);

输出:

msg: hello
msg: hellohello
age: 35 { getAge } for
name: peter
id: "123"

关于正则表达式挑战将不同的规则分成两组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43670383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com