如何对以下字符串排序。
11 uid=984 op=85 get=25
11 uid=544 get=26 op=85
12 op=55 uid=49 get=18
12 uid=002 get=20 op=99
12 op=34 get=678 uid=002
排成第一列不变,get 的值为第二列,uid 的值为第三列
1
geelaw 2017-05-15 21:32:08 +08:00
一次性处理的话,用
$1 get=$5$9$13 uid=$3$7$11 op=$4$8$12 替换 ^\s*(\d+)\s+(uid=(\d+)|op=(\d+)|get=(\d+))\s+(uid=(\d+)|op=(\d+)|get=(\d+))\s+(uid=(\d+)|op=(\d+)|get=(\d+))\s*$ ($ 是匿名捕获组,^$ 是行开头结尾而不是列开头结尾) 如果你的正则表达式引擎不支持大于 9 的匿名捕获组,使用不捕获组(这样恰好 9 个)或者使用命名捕获组。 更安全的方式是枚举 3! 种可能的排列写成正则表达式。 |
2
nutting 2017-05-15 21:32:37 +08:00 via Android
把值抽出来放数据库两列?
|