我的文件包含以特定模式开头的每行的数据
1000000179|abcd.....
1000000180|wedwedw...
1000000181|wnewedwed...
我已经在visual studio中打开了文件,并且需要一个RE来查找没有以正确顺序开头的任何行。如下第3行和第4行无效。如何使用RE
隔离它们1000000179|abcd.....
1000000180|wedwedw...
1000xyadaa|wnewedwed...
%dfgxyadaa|wnewedwed...
答案 0 :(得分:0)
像^[^0-9]{1,10}[^|].*$
这样简单的东西应该检测出任何不以十个数字和管道开头的行。
如果您只想选择该行的第一部分,那么^[^0-9]{1,10}[^|]
注意:如果您更喜欢这种语法,可以将[^0-9]
替换为\D
(区分大小写!),例如^\D{1,10}[^|]
要反转逻辑(即找到正确的行),请使用^[0-9]{10}\|.*$
或^\d{10}\|
编辑:对于VS2005的搜索/替换“正则表达式”:
要找到不以10个数字后跟管道开头的行:^~([0-9]^10\|)
要查找以10个数字开头,后跟管道的行:^[0-9]^10\|
请注意\d
和\D
语法不起作用,如@ KennethK。的评论如下。 VS正则表达式中单个数字即[0-9]
的等效值为:d
。
有关VS2005中可用的正则表达式列表,请参阅http://msdn.microsoft.com/en-us/library/2k3te2cs(VS.80).aspx。
答案 1 :(得分:0)
如果我理解您要查找的内容,请尝试以下表达式:
^~(1000000).*$
^
,.*
和$
的功能与典型的正则表达式相同,~(...)
表示“不匹配”。因此,模式的总体意图是找到不以字符串“1000000”开头的行。