2012-05-11 2 views
1

Я ищу регулярное выражение, которое найти и заменить определенные закономерности в файле CSS Например, в следующей строке:Регулярное выражение для поиска # ffcc00 и заменить его # к0

.boxOneHeading, .boxTwoHeading, .boxThreeHeading 
{ 
    font-size: 18px; 
    font-family: MuseoSans500; 
    padding: 10px 15px; 
    width: 273px; 
    background-color: #fbfbfb; 
    background-color: #ffffff; 
    background-color: #ffcc00; 
} 

Я используя следующее regex: #? [\ s] * (. {1}) \ 1 {1} (. {1}) \ 2 {1} (. {1}) \ 3 {1} Это правильно находит:

#ffffff and 
#ffcc00 

Но я ищу, чтобы найти только значения # ffcc00 и заменить их на # fc0.

Что я могу добавить в это регулярное выражение?

С уважением, Жак

+0

Ctrl + H, # ffcc00, Tab, # к0, Enter! –

+1

Очень смешно @ KendallFrey ... – shift66

ответ

4

Вот пример:

var color = "#ffcc00"; 
var replaced = Regex.Replace(color, @"#(\w)\1(\w)\2(\w)\3", "#$1$2$3"); 
Console.WriteLine(replaced); 

Но я ищу, чтобы найти только # ffcc00 ценности и заменить их # к0

Я немного отброшенное этим, не в основном ли найти/заменить на этом этапе?

var replaced = css.Replace("#ffcc00", "#fc0"); 
+0

То же самое здесь, оно работает, но оно все равно находит #ffffff в моем примере. – Jacques

+0

@Jacques Вы говорите, что хотите работать на все * кроме * #ffffff? – vcsjones

+1

Фактически я только понял, что этот ваш код будет работать как для #ffffff, так и для # ffcc00 в то же время. Спасибо за ввод. – Jacques

1
regex: ([0-9a-f])\1([0-9a-f])\2([0-9a-f])\3 
replace: $1$2$3 

RegExr link

+0

Это хорошо, но это не мешает регулярному выражению найти #ffffff? – Jacques

Смежные вопросы