2010-05-31 205 views
0

如何搜索整个字符串以进行特定匹配。 它将包含int或十进制数字的两个字符 例如A12B32.25C-456D-75.E75 我会知道这将以A开始并以E结尾我想我可以使用“^”和“$ “ 对? 但我有点在其他部分丢失检查字符和int或小数。 我会很高兴,如果你可以给正则表达式和解释一下:)。正则表达式问题

PS。 d-75。不错误输入...

在此先感谢。

+1

您可以先给我们更多信息。也许是你想要匹配的那些字符串的一个更好的例子。 – 2010-05-31 08:35:37

+0

我将在C#中使用这个正则表达式。 和例子 我知道,整个字符串将与角色A和起动次数,B号码,C和一个数字,d和数量,最后E和一些 如此反复了一些示例行会 A12.2B-45.5C45.D-45E452 A-45.B5.455C-45.D447.1235E985 所以我必须匹配所有5个字符与数字,可能B int或小数。并指出C45。在第一个例子和A-45。在第二个例子.. – sYl3r 2010-05-31 08:47:31

回答

2

为自由空间正则表达式,希望我猜正确,您的意思是什么:

^     # start of line 
A(-?\d+\.?\d*)  # match "A", followed by a number with optional sign and decimal part 
B(-?\d+\.?\d*)  # same with "B" 
C(-?\d+\.?\d*)  # etc. 
D(-?\d+\.?\d*) 
E(-?\d+\.?\d*) 
$     # end of line 

这将捕获的数字为反向引用1-5。如果你告诉我们你打算如何使用正则表达式,我可以改进我的答案。

+0

感谢队友这个作品像一个魅力 所以“?”用于选择,“+”用于一个或多个,“*”用于零个或多个。是吗? 对不起,我不熟悉正则表达式... – sYl3r 2010-05-31 08:56:48

+0

不客气。你得到正确的量词完全正确的解释:) – 2010-05-31 09:18:43

0

你正在做字面模式匹配? - 你已经注意到你嵌入正则表达式元字符就像一个句号==。在你的模式。

取决于你所使用的正则表达式引擎有可能是一个“只图案”选项。 例如

grep -F 'mypattern' myfile 

防止正则表达式引擎从一个图案看到元字符。

你使用的是什么环境/正则表达式?

+0

我将在C#中使用这个正则表达式。 和例子 我知道,整个字符串将与角色A和起动次数,B号码,C和一个数字,d和数量,最后E和一些 如此反复了一些示例行会 A12.2B-45.5C45.D-45E452 A-45.B5.455C-45.D447.1235E985 所以我必须匹配所有5个字符与数字,可能B int或小数。并指出C45。在第一个例子和A-45。在第二个例子中.. – sYl3r 2010-05-31 08:46:44