伙计们我不知道如何准确地表达正则表达式(我从来没有学过它),但是对于我现在所处的情况,我知道它需要使用的正则表达式。
我需要允许以下
$ANYTHNG_HERE$+(5*8-7) //in short a word between dollar sign and any mathematical operator(s)
我严格要求避免像
这样的事情&ANYTHNG_HERE&+6fdfd(5+6)
我该如何处理?
答案 0 :(得分:1)
您可以将数学等式与:
匹配 \([0-9*+/-]*\)
您可以将该行的开头与:
匹配 ^\$
所以只需在中间添加一个点,这里就是完整的正则表达式:
^\$.*?\([0-9*+/-]*\)
答案 1 :(得分:1)
不是一个完整的答案,但是这个:
^\$.*\$\+([\(\)\d*-\\]+)$
将匹配:
$ANYTHNG_HERE$+(5*8\7)
但不是
&ANYTHNG_HERE&+6fdfd(5+6)
如果您需要进一步修改,请发表评论。
答案 2 :(得分:0)
\$.*\$[-+*/()0-9]*$
怎么样?
警告:这是sed的正则表达式 - 我从未使用过C#!
我已经对MSDN进行了检查,但它似乎已经结束了。