2013-12-09 84 views
1

夥計們我不知道如何精確地制定正則表達式(我從來沒有學過它),但對於我現在的情況,我知道它是我需要使用的正則表達式。正則表達式公式

我需要讓下面

$ANYTHNG_HERE$+(5*8-7) //in short a word between dollar sign and any mathematical operator(s) 

我嚴格需要避免像

&ANYTHNG_HERE&+6fdfd(5+6) 

事情應如何處理?

+0

是否有任何您想要避免的特定字符? – SpiderCode

+0

@SpiderCode,不,但我想避免數字和字母的組合(1ytfdf等是不允許的) –

回答

0

\$.*\$[-+*/()0-9]*$怎麼樣?

被警告:這是一個sed的正則表達式 - 我從來沒有使用過C#!

我已經檢查了它對MSDN,但它似乎簽出。

+0

你錯過了'^'的開頭..也似乎他需要在$和表達式之間的'+' – Anirudha

1

可以匹配與數學公式:

\([0-9*+/-]*\)

,您可以用匹配行的開頭:

^\$

所以只加一個點在中間,這裏是完整的正則表達式:

^\$.*?\([0-9*+/-]*\)

+1

你意識到你的角色類也匹配','和'.'? –

+0

哎呀!我不知道你可以用符號和破折號來做到這一點。編輯主帖。 –

1

不是一個完整的答案,但這樣的:

^\$.*\$\+([\(\)\d*-\\]+)$

將匹配:

$ANYTHNG_HERE$+(5*8\7)

但不是

&ANYTHNG_HERE&+6fdfd(5+6)

如果您需要進一步的修改,請評論。