如何在两个变量周围找到并替换两个字符串?

时间:2016-09-30 11:23:09

标签: regex replace find

我是正则表达式的新手,我遇到了一个问题。

我有以下文字:| latitude = anynumber1 | longitude = anynumber2 |

我想知道如何使用正则表达式查找:| latitude = anynumber1 | longitude = anynumber2 | 并将其替换为:| coordinates = {{coord|anynumber1|anynumber2}} |

我有以下格式的许多页面:| latitude = anynumber1 | longitude = anynumber2 |

只是纬度和经度的数量随每页变化,现在我必须在所有页面上将其更改为更新的格式。如何使用正则表达式查找和替换?

1 个答案:

答案 0 :(得分:1)

您可以使用以下基于正则表达式的替换:

查找内容\|\s*latitude\s*=\s*(\d+)\s*\|\s*longitude\s*=\s*(\d+)\s*\|
替换为| coordinates = {{coord|$1|$2}} |

请参阅this regex demo

详细

  • \| - 文字|
  • \s* - 0+ whitespaces
  • latitude - 字符串latitude
  • \s*=\s* - =附有0 +空格(\s*
  • (\d+) - 第1组捕获1个或多个数字
  • \s*\|\s* - 包含0 +空格的|
  • longitude - longitude文字
  • \s*=\s* - 包含0 +空格的|
  • (\d+) - 第2组捕获1个或多个数字
  • \s*\| - 0+空格+ |

替换模式中的$1$2分别将捕获的值插入到第1组和第2组中。

enter image description here