RegEx仅在条件下更换

时间:2015-10-09 14:35:45

标签: regex replace conditional-statements

我使用PCRE。

示例输入:

henri.superman@my.com:brainisapples
wholesorrow:delirium@my.com

通缉输出:

henri.superman@my.com:brainisapples
delirium@my.com:wholesorrow

我可以使用以下方式单独捕获两个表单:

^([^@]+):([^@]+@[^@]+)$

^([^@]+@[^@]+):([^@]+)$

但我无法弄清楚如何仅对第一种字符串使用$ 2:$ 1替换模式。

1 个答案:

答案 0 :(得分:1)

正则表达式:

^([^@]+):([^@]+@[^@]+)$

替换为:

\2:\1

DEMO