我正在阅读这个问题,并试图做相反的事情。这张海报想要捕获有关连接的信息,我只想匹配所有连接名称。考虑这个文件:
SOMESCHEMA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = REMOTEHOST)(PORT = 1234))
)
(CONNECT_DATA =
(SERVICE_NAME = REMOTE)
)
)
# comment
MYSCHEMA.world =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = MYHOST)(PORT = 1234))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = MYSERVICE.LOCAL )
) )
##comment
##comment
MY.OTHER.SCHEMA=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MYHOST)(PORT=1234)))(CONNECT_DATA=(SERVICE_NAME=MYSERVICE.REMOTE)))
SOMEOTHERSCHEMA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1234)) ) (CONNECT_DATA = (SERVICE_NAME = LOCAL) ) )
RexEx 规则应该足够简单,我只是对 RegExs 感到恐惧。它应该是:
- 匹配后跟“=”的任何单词(不打断“.”),忽略空格,即不是DESCRIPTION、ADDRESS_LIST、ADDRESS、PROTOCOL、HOST、PORT、CONNECT_DATA 或SERVICE NAME。
- 忽略以# 开头的单词,同样忽略空格。
任何可以帮助解决此问题的 RegEx 专家?如果有帮助的话,可以通过首先删除代码中的空格来消除“忽略空格”的要求。
结果应该匹配:
- 系统架构
- MYSCHEMA.world
- 我的其他模式
- 其他模式