{unknown string}
{unknown string
unknown string}
unknown string
在上述所有四种情况下,我如何想出一个只识别字符串(这是未知的,所以我不能对特定字符串进行显式匹配)的正则表达式?
你没试过很多,是吗?
string result = Regex.Match(input, "hello").Value;
如果你只想要花括号之间的东西:
string result = Regex.Match(input, @"\{?(.*)\}?").Groups[1].Value;
\w+
它将匹配所有“单词”字符
如果您需要将其概括为“可选花括号之间”的内容,您可以使用:
\{?(.+?)\}?
意思是:
\{?
- 一个可选的大括号字符。它被转义是因为{
在正则表达式中具有特殊含义。?
量词表示0
或1
时间(因此是可选的)(.+?)
- 表示非贪婪模式下的任何东西。您需要非贪婪,以便正则表达式在以下}
(如果有)之前停止\}?
- 与项目 #1 相同