<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Aldolat.it &#8212; Post con tag Regex</title>
        <link>https://www.aldolat.it/tags/regex/</link>
        <description>Ultimi post pubblicati nel tag Regex &#8212; aldolat.it</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>it</language>
        <managingEditor>aldolat@gmail.com (Aldo Latino)</managingEditor>
        <webMaster>aldolat@gmail.com (Aldo Latino)</webMaster>
        <copyright>Creative Commons BY-SA 4.0</copyright>
        <lastBuildDate>Sun, 24 Apr 2022 21:32:22 +0200</lastBuildDate>
        <atom:link href="https://www.aldolat.it/tags/regex/index.xml" rel="self" type="application/rss+xml" />
        <item>
            <title>Search Regex 2.0</title>
            <link>https://www.aldolat.it/posts/2020/search-regex-2-0/</link>
            <pubDate>Sun, 10 May 2020 08:51:40 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2020/search-regex-2-0/</guid>
            <description>Finalmente, dopo 4 anni, Search Regex è stato aggiornato alla nuova versione 2.0. Ormai pensavo che questo plugin per WordPress fosse stato abbandonato, e invece eccolo qui vivo e vegeto e riscritto da zero (&amp;ldquo;a ground-up rewrite&amp;rdquo;, dal Changelog).&#xA;La versione 1.4.16 rilasciata il 28 marzo 2016.&#xA;Qui sopra la versione 1.4.16 rilasciata il 28 marzo 2016, qui sotto la versione 2.0 rilasciata proprio ieri.</description>
            <content:encoded>&lt;p&gt;Finalmente, dopo 4 anni, &lt;a href=&#34;https://wordpress.org/plugins/search-regex/&#34;&gt;Search Regex&lt;/a&gt; è stato aggiornato alla nuova versione 2.0. Ormai pensavo che questo plugin per WordPress fosse stato abbandonato, e invece eccolo qui vivo e vegeto e riscritto da zero (&amp;ldquo;a ground-up rewrite&amp;rdquo;, dal &lt;em&gt;Changelog&lt;/em&gt;).&lt;/p&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://www.aldolat.it/images/2020/05/search-regex-old.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;La versione 1.4.16 rilasciata il 28 marzo 2016.&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;La versione 1.4.16 rilasciata il 28 marzo 2016.&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Qui sopra la versione 1.4.16 rilasciata il 28 marzo 2016, qui sotto la versione 2.0 rilasciata proprio ieri.&lt;/p&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://www.aldolat.it/images/2020/05/search-regex-new.png&#34;&#xA;&#x9;&#x9;&#x9;alt=&#34;La versione 2.0 rilasciata proprio ieri.&#34;&gt;&lt;figcaption&gt;&#xA;&#x9;&#x9;&#x9;&lt;p&gt;La versione 2.0 rilasciata proprio ieri.&lt;/p&gt;&#xA;&#x9;&#x9;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Grazie &lt;a href=&#34;https://profiles.wordpress.org/johnny5/&#34;&gt;@johhny5&lt;/a&gt;, per il lavoro fatto!&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2020/search-regex-2-0/&#34;&gt;Search Regex 2.0&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
        <item>
            <title>L’immensa utilità delle espressioni regolari</title>
            <link>https://www.aldolat.it/posts/2010/immensa-utilita-espressioni-regolari/</link>
            <pubDate>Mon, 07 Jun 2010 17:54:49 +0000</pubDate>
            <author>aldolat@gmail.com (Aldo Latino)</author>
            <guid>https://www.aldolat.it/posts/2010/immensa-utilita-espressioni-regolari/</guid>
            <description>Dopo anni di onorato servizio ho mandato in pensione il plugin WP CodeBox, che mi serviva per pubblicare righe di codice senza che WordPress le eseguisse ed evidenziandone anche la sintassi in base al linguaggio. Funziona bene il plugin, ma c&amp;rsquo;è stato sempre un aspetto che, pur sopportandolo, non mi andava giù: durante la scrittura del post contenente codice, dovevo restare in modalità HTML senza passare a quella Visuale, altrimenti tutti i caratteri come &amp;lt; venivano trasformati nelle rispettive entità HTML.</description>
            <content:encoded>&lt;figure class=&#34;aligncenter&#34;&gt;&lt;img src=&#34;https://www.aldolat.it/images/2010/06/regular_expression.jpg&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;p&gt;Dopo anni di onorato servizio ho mandato in pensione il plugin &lt;a href=&#34;http://wordpress.org/extend/plugins/wp-codebox/&#34;&gt;WP CodeBox&lt;/a&gt;, che mi serviva per pubblicare righe di codice senza che WordPress le eseguisse ed evidenziandone anche la sintassi in base al linguaggio. Funziona bene il plugin, ma c&amp;rsquo;è stato sempre un aspetto che, pur sopportandolo, non mi andava giù: durante la scrittura del post contenente codice, dovevo restare in modalità HTML senza passare a quella &lt;em&gt;Visuale&lt;/em&gt;, altrimenti tutti i caratteri come &lt;code&gt;&amp;lt;&lt;/code&gt; venivano trasformati nelle rispettive entità HTML.&lt;/p&gt;&#xA;&lt;p&gt;Ho deciso, quindi, di provare il plugin &lt;a href=&#34;http://wordpress.org/extend/plugins/syntaxhighlighter/&#34;&gt;SyntaxHighlighter Evolved&lt;/a&gt; che fa la stessa cosa del precedente ma usando gli &lt;em&gt;shortcode&lt;/em&gt; e preservando i caratteri anche in modalità &lt;em&gt;Visuale&lt;/em&gt;. Tra gli altri vantaggi, questo plugin è sviluppato insieme ad &lt;em&gt;Automattic&lt;/em&gt; ed è pure usato su &lt;em&gt;wordpress.com&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Ecco cosa ho combinato: magari vi torna utile.&lt;/p&gt;&#xA;&lt;p&gt;Per procedere alla sostituzione del plugin, ho dovuto cambiare qualcosa nei post e precisamente tutte le volte che ricorreva una riga come questa&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;pre lang=&amp;#34;php&amp;#34;&amp;gt;Righe di codice&amp;lt;/pre&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;bisognava cambiarla in&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[code lang=&amp;#34;php&amp;#34;]Righe di codice[/code]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Nel 96% dei post ricorrevano righe simili a questa: un lavoro pazzesco da far desistere chiunque. Ma avendo già utilizzato le &lt;a href=&#34;http://it.wikipedia.org/wiki/Espressione_regolare&#34;&gt;Espressioni regolari&lt;/a&gt; (dette anche &lt;em&gt;Regex&lt;/em&gt;) per un altro mio progetto grazie a un plugin di WordPress, ho pensato di tentare lo stesso. Il plugin &lt;a href=&#34;http://wordpress.org/extend/plugins/search-regex/&#34;&gt;Search Regex&lt;/a&gt;, infatti, vi dà la possibilità di provare le stringhe di ricerca finché non siete sicuri del risultato e vi mostra a video il cambio che opererà. Una sorta di anteprima, insomma. Occhio che, in ogni caso, è &lt;em&gt;un plugin tanto potente e utile quanto pericoloso&lt;/em&gt;, per cui è d&amp;rsquo;obbligo un backup del database.&lt;/p&gt;&#xA;&lt;p&gt;Dopo l&amp;rsquo;ovvio backup, dall&amp;rsquo;interfaccia di &lt;em&gt;Search Regex&lt;/em&gt; ho effettuato più passaggi, sia nei post che nei commenti. Ho cominciato dai commenti, dove avevo solo 23 risultati. Ho cercato:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/&amp;lt;pre lang=&amp;#34;(.*?)&amp;#34;&amp;gt;/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;e l&amp;rsquo;ho sostituito con:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[code lang=&amp;#34;$1&amp;#34;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Visto che l’anteprima mi soddisfaceva ho dato l’OK per il cambio.&lt;/p&gt;&#xA;&lt;p&gt;Poi ho sostituito:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/&amp;lt;\/pre&amp;gt;/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;con:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[/code]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ho quindi verificato in alcuni commenti a campione e tutto è risultato perfetto. Passo ai post ed effettuo le stesse operazioni di sopra (471 per l’esattezza). A queste aggiungo altre sostituzioni:&#xA;cambio &lt;code&gt;line=&lt;/code&gt; in &lt;code&gt;firstline=&lt;/code&gt;, &lt;code&gt;lang=&amp;quot;apache&amp;quot;&lt;/code&gt; in &lt;code&gt;lang=&amp;quot;plain&amp;quot;&lt;/code&gt; (non c’è la sintassi per Apache) e infine &lt;code&gt;lang=&amp;quot;html4strict&amp;quot;&lt;/code&gt; in &lt;code&gt;lang=&amp;quot;html&amp;quot;&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Il controllo finale ha dato gli esiti sperati! In pochissimi istanti ho ottenuto un risultato che altrimenti avrebbe impiegato troppo tempo.&lt;/p&gt;&#xA;&lt;p&gt;Non so usare le espressioni regolari, nel senso che non le ho mai studiate: ho solo qualche appunto su &lt;em&gt;Tomboy&lt;/em&gt;, ma tutto sommato non è stato difficile.&lt;/p&gt;&#xA;&lt;p&gt;Photo courtesy: &lt;a href=&#34;http://www.flickr.com/photos/mn_francis/74725984/&#34;&gt;cackhanded&lt;/a&gt;, &lt;em&gt;A regexp to match regexp&lt;/em&gt;, CC &lt;a href=&#34;https://creativecommons.org/licenses/by-nc/3.0/&#34;&gt;by-nc&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;L&#39;articolo &lt;a href=&#34;https://www.aldolat.it/posts/2010/immensa-utilita-espressioni-regolari/&#34;&gt;L’immensa utilità delle espressioni regolari&lt;/a&gt; è uno scritto di &lt;a href=&#34;https://www.aldolat.it/&#34;&gt;aldolat.it&lt;/a&gt;. Rispettane le &lt;a href=&#34;https://www.aldolat.it/info/#licenza&#34;&gt;condizioni di licenza&lt;/a&gt;.&lt;/p&gt;</content:encoded>
        </item>
    </channel>
</rss>
