我希望檢索與「$
」中的數據串開始,以「$
」結尾的任何字美元符號(「$」)結尾的詞是正則表達式開始,以
自衛隊sdfsdff FFFF DD $ dsf $ ddd $ 4rrr2 $。 $ spoif $ $ 1d4dd $
$(data)$
之間的數據並不重要。
以「$
」開始並以「$
」結尾的4個字開始的數據串的結果。
我不知道我需要什麼語法來創建它。
我希望檢索與「$
」中的數據串開始,以「$
」結尾的任何字美元符號(「$」)結尾的詞是正則表達式開始,以
自衛隊sdfsdff FFFF DD $ dsf $ ddd $ 4rrr2 $。 $ spoif $ $ 1d4dd $
$(data)$
之間的數據並不重要。
以「$
」開始並以「$
」結尾的4個字開始的數據串的結果。
我不知道我需要什麼語法來創建它。
由於您的字符串可能會開始與結束塊錢,你要確保你採取ungreedy方法
var input = " $dsf$ ddd $4rrr2$. $spoif$ $1d4dd$";
var regexp = new Regex(@"\$(.*?)\$");
foreach (Match match in regexp.Matches(input))
{
Console.WriteLine(match.Groups[1]);
}
謝謝你們的幫助! –
由於這個答案被接受,所以我寧願使用'\ $([^ $] *)\ $'來匹配任何字符,而在最外面的$'s內使用''''。 –
您可以使用以下正則表達式:
\$\w*\$
的第一個和最後$有一個反斜槓逃脫他們,因爲他們是特殊的正則表達式字符。
中部\ W *與零個或多個字符
任何(文字,數字)匹配'\ w'與空格不匹配。 – stema
謝謝,更正 –
此正則表達式會得到你想要的東西,假設你要美元符號之間的事情:
\$\w+\$
或去這個,如果你將接受$$
作爲一個有效的結果:
\$\w*\$
要打破它,這意味着:
\$
的文字字符$
,而不是爲「字符串的結束」的正則表達式的象徵符號,只是$
沒有轉義字符\
\w
- 任何單詞字符(不包括空格)
+
或*
指定單詞字符的數量。 +
意思是「1個或多個」和*
意味着零個或多個
我建議你有一個在線的正則表達式測試儀周圍一齣戲,所以你可以看到你的正則表達式是實時直觀地做,而不必編譯並運行代碼。嘗試:
有你想出的任何代碼?請分享以展示你想達到的目標。 –
請記住'$'在正則表達式中有特殊含義,所以你必須逃避它。 –
這是我到目前爲止的代碼。新的正則表達式(@「$(。+?)$」 –