Я хочу извлечь определенное слово из строки, используя регулярное выражение.Извлечь слово из строки с помощью regex
Я получил этот код сейчас, и это прекрасно работает, когда я искать *
public static string Tagify(string value, string search, string htmlTag, bool clear = false)
{
Regex regex = new Regex(@"\" + search + "([^)]*)\\" + search);
var v = regex.Match(value);
if (v.Groups[1].ToString() == "" || v.Groups[1].ToString() == value || clear == true)
{
return value.Replace(search, "");
}
return value.Replace(v.Groups[0].ToString(), "<" + htmlTag + ">" + v.Groups[1].ToString() + "</" + htmlTag + ">");
}
Но теперь мне нужно искать **, но, к сожалению, это не работает Как я могу добиться этого?
Не могли бы вы предоставить более точные спецификации и примеры? Разумеется, звучит как самый простой: '@" \ * \ * (. *?) \ * \ * "', Но наиболее эффективным является '@" \ * \ * ([^ *] * (?: \ * (?! \ *) [^ *] *) *) \ * \ * "' –
Определить «не работает», что * делает * он делает? – Sayse
Почему '([^)] *)' внутри? Вы хотите, чтобы вы исключали любые ')' между '**' s? –