Это регулярное выражение должно работать:
String str = @"<a href="":$451$142"">some thing</a> "+
@" <a href="":$14$15"">some thing</a> "+
@" <a href="":$3$16"">some thing</a> "+
@" <a href="":$312$17"">some thing</a> ";
String newStr = Regex.Replace(str,@":\$\d+\$\d+", "#");
System.Console.WriteLine(str);
System.Console.WriteLine("\n\n" + newStr);
Это дает:
<a href=":$451$142">some thing</a> <a href=":$14$15">some thing</a> <a href
=":$3$16">some thing</a> <a href=":$312$17">some thing</a>
<a href="#">some thing</a> <a href="#">some thing</a> <a href="#">some thin
g</a> <a href="#">some thing</a>
Регулярное выражение: :\$\d+\$\d+
будет соответствовать любому фрагменту текста, начиная с :
, после чего $
(в $
является особый символ в языке регулярных выражений и, следовательно, необходимо бежать с дополнительным \
спереди). $
, в свою очередь, должно сопровождаться одной или несколькими цифрами (\d+
), за которой следует еще один :
, за которым следует одно или несколько номеров (\d+
). Для получения дополнительной информации ознакомьтесь с руководством по this.
Хотя в этом случае регулярные выражения действительно помогли, настоятельно рекомендуется использовать их для разбора языков. Пожалуйста, используйте специальные рамки, такие как HTML Agility Pack, чтобы выполнять любые связанные с HTML процессы. Посмотрите here на пример, похожий на то, что вы пытаетесь сделать.
Разбор HTML с регулярным выражением, я думал, что есть очень четкое сообщение об этом на SO о том, почему это НЕ МОЖЕТ быть сделано, и НЕ ДОЛЖНО! –
Как насчет использования jQuery? '$ ('a'). prop ('href', '#');' –
Я пробую этот адрес: http: //www.rubular.com/r/1zWQQVLZy1, но я не смог сделать один – KF2