使用正则表达式匹配“复杂”字符串

时间:2021-06-01 16:46:32

标签: regex

我对正则表达式很陌生,我正在尝试分析来自简单文本文件的数据。在开始数据分析之前,我需要确保简单文本文件中内容的格式或结构正确,然后才能继续该过程。文件内容如下:

,file_06,,
x data,y data
-969.0,-42.18187,
-958.0,-39.62946,
-948.0,-37.748737,
-938.0,-35.73368,
-929.0,-33.9873,
-919.0,-32.24092,
-910.0,-30.76321,
-899.0,-29.01683,
-891.0,-27.40478,
-878.0,-26.19575,
-872.0,-24.986712,
-864.0,-23.24033,
-853.0,-22.16563,

寻求帮助编写正则表达式。

我试图写出一些正则表达式,但我只匹配第一行。我无法匹配整个内容。

2 个答案:

答案 0 :(得分:1)

正则表达式:

/(,file_[\d]*,,)\n(x data,y data)\n((-?[\d]*.[\d]*,-?[\d]*.[\d]*,?)\n)*(,,)?/g

答案 1 :(得分:0)

这会起作用

/(?=-)(.?[^\,]*)/gm

使用正向先行从 '-' 开始,然后用 ',' 分隔所有内容。

使用

/(?=-)(.*)/gm

如果您想一起捕获数据对。

样品在 https://regex101.com/r/a5Dk5Y/1/