我有很多使用“AS”的MySQL查询和与别名相同的列名。
示例:
`table1`.`field112` AS `field112`,
`table1`.`field113` AS `field113`,
`table1`.`field114` AS `field114`,
所以,我想简单地替换它们:
`table1`.`field112`,
`table1`.`field113`,
`table1`.`field114`,
所以我尝试了这样的常规表达:
/(`\w+`) AS (`\w+`)/g
这解决了替换$ 1文本的问题。
然后我发现了这个:
`table1`.`field137` AS `aliased_field`,
使用正则表达式,此行转为:
`table1`.`field137`,
这会破坏查询,因此,当$ 1和$ 2只是相同的文本时,我需要更改正则表达式以选择所有文本。
有什么方法可以做到这一点吗?
答案 0 :(得分:4)
使用反向引用:
/(`\w+`) AS \1/g
术语\1
表示“第1组中捕获的内容”(适用于第1组至第9组)。