我正在尝试执行一些正则表达式的步骤,我想在这些行的末尾添加一个引号和一个逗号,而不改变行中的任何其他字符。我如何保持原样,但在以下单词后添加":设备1设备2设备3
我正在使用的线路示例:
对象网络设备1
主机www.example.com192.168.1.11
对象网络设备2
主机www.example.com192.168.1.12
对象网络设备3
主机www.example.com192.168.1.13
在regex的第一步之后,我修改了我的第一行,以包括花括号和一些带有单词"category"和"name"的格式,如下所示。但是,我不想更改单词"device1",而是想在单词device1之后包括引号和逗号
{
"类别":"网络",
"名称":"设备1
主机www.example.com192.168.1.11
{
"类别":"网络",
"名称":"设备2
主机www.example.com192.168.1.11
{
"类别":"网络",
"名称":"设备3
主机www.example.com192.168.1.13
我不知道如何在正则表达式替换序列的第一步中包含""。
我同时使用www.example.com和记事本++。Regexr.com and notepad++.
2条答案
按热度按时间mftmpeh81#
您可以使用此正则表达式来匹配输入数据中的每个实体:
这匹配:
object\s+
:单词“object”后跟多个空格(\w+)
:一定数量的单词(字母数字加_
)字符,在组1中捕获\s+
:多个空格([^\r\n]+)
:一定数量的非行尾字符,在组2中捕获[\r\n]+
:一定数量的行尾字符host\s+
:单词“host”后跟多个空格([\d.]+)
:一定数量的数字和句点字符,在组3中捕获这可以替换为:
给予输出(对于你的样本数据):
regex101上的正则表达式演示
现在,您只需在文件的开头添加
[
,并将最后一个,
替换为]
,即可生成有效的JSON文件。unhi4e5o2#
这是正则表达式
"name": "(device\d+)
,但由于您没有提到任何编程语言,因此可能会根据您使用的语言出现一些模式错误,例如,java中的""
需要转义符,因此,如果您使用java,则使用此正则表达式\"name\": \"(device\d+)
。现在,您必须提取组(device\d+)
并将"
放在那里,例如,在java中,您可以使用string.replaceAll