2016-02-14 57 views
0

我试图通过正则表达式在记事本++中的文档中查找文本,但无法找到它。使用正则表达式搜索数字时遇到问题

我的文件看起来像这样(同样的想法,但更长的时间):

<ObjectsGroup name="1_Color"> 
<InfoAtt AttInfo="1" AttName="INDEX"/> 
<Categories> 
<Category Probability="0.664914" Name="pen"/> 
<Category Probability="0.0757796" Name="switch"/> 
<Category Probability="0.0447911" Name="keyboard"/> 
</Categories> 
</ObjectsGroup> 
<ObjectsGroup name="1_Color"> 
<InfoAtt AttInfo="1" AttName="INDEX"/> 
<Categories> 
<Category Probability="0.530971" Name="computer bag"/> 
<Category Probability="0.144546" Name="computer monitor"/> 
<Category Probability="0.097265" Name="mug"/> 
</Categories> 
</ObjectsGroup> 
<ObjectsGroup name="1_Color"> 
<InfoAtt AttInfo="1" AttName="INDEX"/> 
<Categories> 
<Category Probability="0.412404" Name="table"/> 
<Category Probability="0.343684" Name="pillows"/> 
<Category Probability="0.175472" Name="chair"/> 
</Categories> 
</ObjectsGroup> 

我想找到该表是在类别列表中第一个的所有地方。

我写了表达在查找窗口:

<Categories> 

<Category Probability"(\d*[.]\d*)" Name="table"/> 

但它并没有找到它。

有人可以帮我吗?

+1

'' –

+0

如果您不知道类别中可能包含什么,使用非贪婪的正则表达式来获取两个结束字符串之间的所有内容:''。 [Regex101](https://regex101.com/r/lR6sS1/1) – sideroxylon

+2

@AvinashRaj,谢谢!这是正确的答案! – STF

回答

1

您需要更改\d[0-9]

这是在正则表达式中说数字的方式。

+1

'\ d'是“数字”的通常字符类,尽管它也可以匹配非拉丁数字。 –

+0

是的,但这里说得不对。 – 2016-02-23 07:47:34

0

的方式做到这一点:

<Category Probability="([0-9]*[.][0-9]*)" Name="table"/> 
+0

'' – sideroxylon

+1

我工作时没有\ \。 – STF

+1

不需要在Notepad ++ regex模式中转义''/'',因为正斜杠在正则表达式中没有特殊含义。 –