2012-04-21 76 views
2

[\d-.]+有效,但[\d-.]*沒有。我唯一改變的是最後的+**正則表達式運算符爲什麼不能正常工作?

<b>12345</b> 
<b>12345-6789</b> 
<i>1234.5678</i> 
<tag>1234-2342346456</tag> 

我測試了它這裏http://regexr.com?30ngn

*意味着0個或多個而+指1或大於1。 *僅適用於.嗎?

+0

中間是什麼這些xml行? – Shep 2012-04-21 06:22:24

+0

顯示你的整個正則表達式和確切的輸入字符串 – shift66 2012-04-21 06:24:13

+0

不是*適用於每個正則表達式,不僅適用於每個正則表達式。 ,這是一個奇怪的問題 – Niko 2012-04-21 06:25:29

回答

3

*運營商工作正常,它只是正則表達式行事有趣,或者是由於你在正則表達式字符類中使用-字符。如果你想匹配一個角色類中的-角色,就把它放在開頭;否則,正則表達式引擎可能認爲你想匹配一個範圍(如[A-Z])。

固定正則表達式[-\d.]*regexpal上正常工作。

+0

嗯,我明白了,這只是網站的問題。 – Jonas 2012-04-21 06:28:20

+1

似乎是該網站。甚至沒有'[\ d] *'在'[\ d] +中工作。 – Jack 2012-04-21 07:08:38