我想使用Regex检查CSV文件是否有效,但我遇到了问题。
以下是我想要匹配的示例:
[开始] 13个数字;任何不包含";" [此后没有]
例如:
匹配:
1234567891234;some text
由于第二个";" :,不匹配
1234567891234;some text;
问题是在第二个";" 之后有什么东西。
这个会匹配,但我不知道如何避免它:
1234567891234;some text; sometext
这是我使用的正则表达式和example:
^(\d{13});(.*(?<!\;)$)
答案 0 :(得分:1)
您似乎尝试[^;]*
,但由于此否定字符类符合换行符,因此它不适用于您。您只需要在课程中添加LF / CR:
^(\d{13});([^;\r\n]*)$
请参阅regex demo。
<强>详情:
^
- 字符串开头(\d{13})
- 第1组:十三位数;
- 分号([^;\r\n]*)
- 第2组:除CR,LF和;
之外的零个或多个字符$
- 字符串结束。