2016-07-30 3 views
-2

Я бы хотел использовать регулярное выражение для прописных букв c в определенных обстоятельствах (например,), если C для Цельсия. Мое регулярное выражение до сих пор:Регулярное выражение в верхнем регистре определенных букв

((?!\s)[c](?=\s)|(?!\d)[c](?=\d)|[c](?=-)) 

Пример текст:

Some plastic insert c lids were cracked, temperature was between 8c and 8.8c. 

Я хочу, чтобы капитализировать все одиночный Кассиопеян и гр после чисел. Любые указатели были бы полезны.

ответ

0

Вам нужно (?<=...) вместо (?!...), бывших стендов для вида сзади а вторые обозначает отрицательного взгляд вперед, если вы хотите заменить c после пробела или цифр, то вам нужно использовать вид сзади ограничение:

str1 = "Some plastic insert c lids were cracked, temperature was between 8c and 8.8c." 

import re 
re.sub(r"(?<=\s)c(?=\s)|(?<=\d)c", "C", str1) 
# 'Some plastic insert C lids were cracked, temperature was between 8C and 8.8C.' 

в зависимости от того, как вы определяете опустеют, граница слова может быть лучше подходит:

re.sub(r"\bc\b|(?<=\d)c", "C", str1) 
# 'Some plastic insert C lids were cracked, temperature was between 8C and 8.8C.' 

Update для случая в комментарии:

str2 = "Ensure that noodles soaked in water are kept at or 4 c. Noodles are moved to walk in cooler. * Ensure that perishable food is chilled rapidly as * A) temperature from 60 c-20 C must fall within two hrs" 

re.sub(r"\bc\b|(?<=\d)c", "C", str2) 
# 'Ensure that noodles soaked in water are kept at or 4 C. Noodles are moved to walk in cooler. * Ensure that perishable food is chilled rapidly as * A) temperature from 60 C-20 C must fall within two hrs' 
+0

я думаю, что это будет лучше 'г 'с (= \ s | $?) | ((<= [\ S \ d]?) ? <= ^) c (? = \ s) '' – rock321987

+0

@ rock321987 абсолютно, Это зависит от того, что означает OP для одиночного. Добавлен более общий параметр границы слова для него. – Psidom

+0

Я пробовал это, и некоторые из них пропущены: «Убедитесь, что лапша, смоченная в воде, удерживается на уровне или 4 C. Лапша перемещается, чтобы ходить в кулере. * Убедитесь, что скоропортящиеся продукты быстро охлаждают, как * A) температура от 60 c-20 C должен упасть в течение двух часов » – MoreScratch

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