Al momento ho una grande serie di testo HTML e ho diverse proprietà CSS che simile al seguente:un'espressione regolare per trovare una singola proprietà CSS
font:16px/normal Consolas;
font:16px/normal Arial;
font:12px/normal Courier;
che è anche in bundle con diverse altre proprietà CSS e altri associati Valori e tag HTML
ho cercato di scrivere un'espressione regolare che catturerà solo questi "stili di carattere", quindi se ho avuto i seguenti due paragrafi:
<p style='font:16px/normal Arial; font-weight: x; color: y;'>Stack</p>
<span style='color: z; font:16px/normal Courier;'>Overflow</span>
<br />
<div style='font-family: Segoe UI; font-size: xx-large;'>Really large</div>
sarebbe partita solo le proprietà che iniziano con font:
e termina con un punto e virgola ;
.
Ho giocato in giro con RegexHero e la più vicina che ho ottenuto è stata:
\b(?:font[\s*\\]*:[\s*\\]*?(\b.*\b);)
che ha prodotto i seguenti risultati:
font:bold; //Match
font:12pt/normal Arial; //Match
font:16px/normal Consolas; //Match
font:12pt/normal Arial; //Match
property: value; //Not a Match
property: value value value; //Not a Match
ma quando ho tentato di cadere in un grande blocco di HTML, le cose sembravano confuse e venivano selezionati grossi blocchi piuttosto che entro i limiti precedentemente specificati.
Sarò lieto di fornire eventuali informazioni aggiuntive e dati di prova che posso.
Non dovresti usare i delimitatori per ottenere la corrispondenza esatta? Qualcosa come^(\ b (?: Font [\ s * \\] *: [\ s * \\] *? (\ B. * \ B);)) $ – pollirrata