gpt4 book ai didi

java - 多行配置文件中的正则表达式,不等于

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:12 26 4
gpt4 key购买 nike

我一直在努力研究这个,但我很难找到相关的帖子。我们为我们的一项服务使用配置文件,如下所示(请注意,一些名称在哈希后有空格,一些有参数):

#GetContactDetails
GetContactDetails.XXXXUser=USERNAME
GetContactDetails.XXXXPassword=PASSWORD
GetContactDetails.TestFlag=Y
GetContactDetails.EndPointURL=http://111.99.111.999/ENVNAME2/endpoint.xx
GetContactDetails.Timeout=40000
GetContactDetails.LoggingFlag=Y

# GetContactDetails
GetContactDetails.XXXXUser=USERNAME
GetContactDetails.XXXXPassword=PASSWORD
GetContactDetails.TestFlag=Y
GetContactDetails.EndPointURL=http://111.99.111.999/ENVNAME2/endpoint.xx
GetContactDetails.Timeout=40000
GetContactDetails.LoggingFlag=Y

# GetContactDetails Parameters
GetContactDetails.XXXXUser=USERNAME
GetContactDetails.XXXXPassword=PASSWORD
GetContactDetails.TestFlag=Y
GetContactDetails.EndPointURL=http://111.99.111.999/ENVNAME2/endpoint.so
GetContactDetails.Timeout=40000
GetContactDetails.LoggingFlag=Y

基本上有 4 种不同的变体:

#servicename
# servicename
#servicename parameters
# servicename parameters

我希望能够在此文本文件上运行替换,留下每个服务的名称(只是以 # 开头的行)。这意味着我需要识别任何不等于 # 行模式的东西。所有的组合我都试过了,我无法让它识别其他所有东西。

有什么建议吗?

附言(来自评论)

我希望使用正则表达式,因为现有的 Java 服务可以使用正则表达式进行替换。要沿着这条路走下去,需要编写一个 Java 服务并部署它,尽管这不是一项太大的任务,但我想尽可能避免它。

最佳答案

Search: ^[^#].*[\r\n]*
Replace: <blank>

关键部分是^[^#],意思是“第一个字符不是hash”

您需要 [\r\n]* 也匹配换行符(点不匹配换行符),否则您将留下空行(而不是删除它们)。

关于java - 多行配置文件中的正则表达式,不等于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38010034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com