2013-01-20 62 views
0

我有一個字符串。該字符串可以包含空格,拉丁字符和符號$。

例子:tert ertert$sdfsdf

但是,符號$只能用字符,而不是空格包圍。

好字符串:"teststring$sdfsdf"

錯誤的字符串:"test $sdfsdf"

壞串"test $ string"

我怎樣才能讓正則表達式此字符串?

謝謝

+7

[你有什麼試過?](http://whathaveyoutried.com) – JLRishe

回答

2

不知道你需要這算什麼語言,但是這將工作/\s+\$|\$\s+/相匹配的「壞」的情景。

的邏輯是

\s+ //at least one space 
\$ //follow by a dollar sign 
| // or 
\$ //dollar sign 
\s+ followed by at least one space 

所以,如果這是Java它看起來像:

myString.matches("\\s+\\$|\\$\\s+") 

在Perl,這將是:

if(myString =~ m/\s+\$|\$\s+/){ 
    //found bad example 
} 

我建議要求更多特別是對於一個語言示例,因爲這些做法往往會因使用而有所不同。

此外,本網站的人們傾向於認爲,在來此尋求幫助之前,您應該嘗試自行解決此問題。所以,如果你想避免看到你已經嘗試過的東西,那麼你應該提供你失敗的嘗試,以此作爲對那些狂熱的力量的犧牲:)。只是問「我該如何做到這一點」,確實讓這個人回答了一個尷尬的問題:「我從哪裏開始......你知道些什麼,你實際上在哪裏堅持等等。」。

相關問題