如何使用正则表达式匹配仅包含以逗号分隔的数字的 CSV 文件中的特定 number/field?
How to match a particular number/field in CSV file consisting of only numbers separated by commas using regex?
我正在使用 BBEdit 12.6 以不同颜色突出显示某些数字;为了提高可读性,在这方面,
请帮忙提供一个匹配 no 的正则表达式。 80 / 42 / 55
(第 8 个字段)在下面的示例文件中。
10,20,30,40,50,60,70,80,90,100
12,22,32,42,52,62,72,42,85,102
15,25,35,45,55,65,75,55,65,105
因为这些都是数字,所以我使用了正则表达式来匹配行尾的第三个数字。但是,它匹配所有最后三个数字字段,而不仅仅是一个。这不是 search/replace 操作,相反,此模式将在 .plist
文件中用于使用 CLM https://www.barebones.com/support/develop/clm.html
的颜色编码文件
我用过的表达式,但问题是,它匹配最后的 3 个数字字段,而不仅仅是一个。
(?x:(\d+,\d+)(?:,\d+$))
正确的正则表达式应该只匹配第 8 个字段。
您可以匹配 1+ 个数字,后跟两次出现的逗号和 1+ 个数字在 line/string:
的末尾
\d+(?=(?:,\d+){2}$)
参见regex demo and the regex graph:
详情
\d+
- 1+ 位数
(?=(?:,\d+){2}$)
- 匹配一个位置的正前瞻 ((?=...)
) 紧接着两次出现 ((?:...){2}
) ,
和 1+ 位 (,\d+
) 在字符串的末尾 ($
).
我正在使用 BBEdit 12.6 以不同颜色突出显示某些数字;为了提高可读性,在这方面,
请帮忙提供一个匹配 no 的正则表达式。 80 / 42 / 55
(第 8 个字段)在下面的示例文件中。
10,20,30,40,50,60,70,80,90,100
12,22,32,42,52,62,72,42,85,102
15,25,35,45,55,65,75,55,65,105
因为这些都是数字,所以我使用了正则表达式来匹配行尾的第三个数字。但是,它匹配所有最后三个数字字段,而不仅仅是一个。这不是 search/replace 操作,相反,此模式将在 .plist
文件中用于使用 CLM https://www.barebones.com/support/develop/clm.html
我用过的表达式,但问题是,它匹配最后的 3 个数字字段,而不仅仅是一个。
(?x:(\d+,\d+)(?:,\d+$))
正确的正则表达式应该只匹配第 8 个字段。
您可以匹配 1+ 个数字,后跟两次出现的逗号和 1+ 个数字在 line/string:
的末尾\d+(?=(?:,\d+){2}$)
参见regex demo and the regex graph:
详情
\d+
- 1+ 位数(?=(?:,\d+){2}$)
- 匹配一个位置的正前瞻 ((?=...)
) 紧接着两次出现 ((?:...){2}
),
和 1+ 位 (,\d+
) 在字符串的末尾 ($
).