首页 > 解决方案 > 如何使用powershell编写正则表达式以仅替换tnsnames.ora中的HOST名称

问题描述

(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myhost)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ora)))

我想使用 powershell 将主机名称替换为新值,谢谢

标签: regexpowershelltnsnames

解决方案


使用-replace运算符:

$str = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myhost)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ora)))'

$str -replace '(?<=\(HOST = )[^)]+', 'newhost'

推荐阅读