我有一个表示calcul的字符串,我想用正则表达式替换以$开头的所有数据。
示例:
value : $Var1+10*$Var2/$Var3-$Var4
我想要4组:
$Var1 $Var2 $Var3 $Var4
我尝试过此正则表达式:
\$.+?)[+-\/*]
第三个组($Var1 $Var2 $Var3)
可以,但$Var4
则不能。
这是因为$Var4
就在字符串结尾之前,我找不到在列表中添加“字符串结尾”的解决方案。
我尝试过:
\$.+?)[+-\/*$]
\$.+?)[+-\/*\$]
但不起作用。
因此,我想采用任何解决方案在列表[]中添加“字符串结尾”。
谢谢
查理
答案 0 :(得分:2)
如果您想要一个能给您变量名的正则表达式,那就是这样:
\$Var\d+
您无需添加任何内容即可在字符串的开头或结尾开始搜索。正则表达式不需要此。对于您的测试字符串“ $ Var1 + 10 * $ Var2 / $ Var3- $ Var4”,这将仅返回所有变量名称。参见here。
如果您的变量名不一定包含Var,但始终以美元符号开头,那么您可以使用下面的正则表达式来匹配它们。
\$\w+