我想在C#中使用正則表達式匹配字符串。該字符串只能有零個或多個空格,而不能有其他字符。正則表達式,只能從零或多個空格開始
有效的字符串爲:
"> 5", " > 5"
無效的字符串是:
"1 > 5", "1> 3", ">> 3"
我現在所擁有的正則表達式:
"\s*> "
我自己也嘗試"[\s*]> "
和"[\s]*> "
但沒有運氣。
這似乎是一個簡單的問題,但即時通訊新鮮的正則表達式,我沒有找到答案在別處。
在此先感謝!
我想在C#中使用正則表達式匹配字符串。該字符串只能有零個或多個空格,而不能有其他字符。正則表達式,只能從零或多個空格開始
有效的字符串爲:
"> 5", " > 5"
無效的字符串是:
"1 > 5", "1> 3", ">> 3"
我現在所擁有的正則表達式:
"\s*> "
我自己也嘗試"[\s*]> "
和"[\s]*> "
但沒有運氣。
這似乎是一個簡單的問題,但即時通訊新鮮的正則表達式,我沒有找到答案在別處。
在此先感謝!
我不認爲你只是意味着「從0開始或更多的空白字符」,因爲那時每串將是有效的,包括空字符串,因爲它滿足至少「從0開始的空白」。看看你的示例輸入,也許你的意思是「從0或更多的空白字符開始,後面跟着正好一個>
」。在這種情況下,這個正則表達式應該這樣做:
^\s*>[^>]*$
與+
更換第二*
如果您需要>
符號後匹配的東西。
是的,這正是我的意思,感謝理解和抱歉,因爲沒有更清楚。它似乎工作,所以我接受這個答案。謝謝你的幫助! – Andreas 2011-03-21 10:25:42
與^
開始你的表達,以表明它錨定到被測試的字符串的開始。否則,與表達式匹配的任何子字符串都將意味着表達式計數爲匹配,當然,每個子字符串都以零或多個空格開始(每個子字符串以零或多個任何內容開始)。因此:
^\s*>
同樣,如果你需要指定哪些字符串可以結束了,然後用$
錨定到字符串的結尾正在測試中。
在包含換行符的測試表達式中,單行和多行選項可更改這些錨點的行爲。
+1的好解釋!謝謝 – Andreas 2011-03-21 10:27:41
^\s*>[^>]*$
不匹配' > 35 > 23'
^\s*>(?!>).*$
確實匹配
[當問正則表達式的問題,隨時添加標籤爲特定的編程語言或工具(例如,Perl,Python和或Java;六, emacs或ɢɴᴜgrep;等等)您正在使用。](http://stackoverflow.com/tags/regex/info) – Johnsyweb 2011-03-21 10:12:13
如果表達式可以以「零個或多個」空格開始,那麼我有點困惑。這意味着,它可以從「零空白」開始,這意味着它可以以其他字符開頭嗎? – Chris 2011-03-21 10:13:15
Try \ s +雖然Johnsy是非常正確的,一些情況下會有用。 – nimizen 2011-03-21 10:14:10