用美元符号开头和结尾的单词的正则表达式(" $")

时间:2015-12-15 10:17:38

标签: c# regex

我想检索任何以" $"开头的单词并以" $"结束在数据字符串中是

  

sdf sdfsdff ffff dd $ dsf $ ddd $ 4rrr2 $。 $ spoif $ $ 1d4dd $

$(data)$之间的数据并不重要。

以4开头的数据字符串的结果以" $"开头。并以" $"。

结束

我不知道创建它需要什么语法。

3 个答案:

答案 0 :(得分:1)

您可以使用以下正则表达式:

\$\w*\$

第一个和最后一个$有一个反斜杠来逃避它们,因为它们是特殊的正则表达式字符。

中间部分\ w *匹配任何(字,数字)零个或多个字符

答案 1 :(得分:1)

这个正则表达式将得到你想要的,假设你想在美元符号之间

\$\w+\$

如果您接受$$作为有效结果,请执行此操作:

\$\w*\$

要将其分解,这意味着:

\$文字字符$,而不是"字符串结尾的正则表达符号"只有$没有转义字符\

\w - 任何单词字符(不包括空格)

+*指定字词数量。 +含义" 1或更多"并且*表示零或更多

我建议您使用在线正则表达式测试程序,这样您就可以实时查看正则表达式的可视化效果,而无需编译和运行代码。尝试:

https://regex101.com/r/jM6lK6/2

答案 2 :(得分:0)

由于您的字符串可能以美元开头和结尾,因此您需要确保采取不合理的方式

var input = " $dsf$ ddd $4rrr2$. $spoif$ $1d4dd$";
var regexp = new Regex(@"\$(.*?)\$");
foreach (Match match in regexp.Matches(input))
{
     Console.WriteLine(match.Groups[1]);
}