1
{unknown string}  
{unknown string  
unknown string}
unknown string

在上述所有四种情况下,我如何想出一个只识别字符串(这是未知的,所以我不能对特定字符串进行显式匹配)的正则表达式?

4

2 回答 2

3

你没试过很多,是吗?

string result = Regex.Match(input, "hello").Value;

如果你只想要花括号之间的东西:

string result = Regex.Match(input, @"\{?(.*)\}?").Groups[1].Value;
于 2013-07-01T23:58:32.473 回答
2
\w+

它将匹配所有“单词”字符

如果您需要将其概括为“可选花括号之间”的内容,您可以使用:

\{?(.+?)\}?

意思是:

  1. \{?- 一个可选的大括号字符。它被转义是因为{在正则表达式中具有特殊含义。?量词表示01时间(因此是可选的)
  2. (.+?)- 表示非贪婪模式下的任何东西。您需要非贪婪,以便正则表达式在以下}(如果有)之前停止
  3. \}?- 与项目 #1 相同
于 2013-07-01T23:58:25.530 回答