<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Dans la catégorie fonctionnement étrange, j'ai bien l'impression
      que les "/" avec échappement sont pas hypers appréciés, exemple
      avec la règle :</p>
    <p><code>*[mapillary][mapillary!~/^[a-zA-Z0-9_-]{22}$/][mapillary=~/mapillary.com\/map\/im\/[a-zA-Z0-9_-]{22}/]
        {</code><code><br>
      </code><code>    throwError: tr("mapillary tag should only contain
        image ID instead of full URL");</code><code><br>
      </code><code>    fixAdd: concat("mapillary=",
        get(regexp_match(".*mapillary.com\/map\/im\/([a-zA-Z0-9_-]{22}).*",
        tag("mapillary")),1));</code><code><br>
      </code><code>}</code></p>
    <p>Qui produit les tags suivants après correction :</p>
    <p><code>concat("mapillary = ",
        get(regexp_match(".*mapillary.com\/map\/im\/([a-zA-Z0-9_-]{22}).*",
        tag("mapillary")),1))</code><code><br>
      </code><code>mapillary =
        <a class="moz-txt-link-freetext" href="https://www.mapillary.com/map/im/EB6DhiSl0wUn6MVK-itdZw">https://www.mapillary.com/map/im/EB6DhiSl0wUn6MVK-itdZw</a></code><br>
    </p>
    <pre class="moz-signature" cols="72">Adrien P.</pre>
    <div class="moz-cite-prefix">Le 05/11/2019 à 17:57, PanierAvide a
      écrit :<br>
    </div>
    <blockquote type="cite"
      cite="mid:c5501563-5034-6be6-da6f-433822c385eb@riseup.net">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>Bien vu ! J'ai pu modifier en conséquence la règle pour le tag
        mapillary sur <a class="moz-txt-link-freetext"
          href="https://josm.openstreetmap.de/wiki/Rules/Pictures"
          moz-do-not-send="true">https://josm.openstreetmap.de/wiki/Rules/Pictures</a><br>
      </p>
      <pre class="moz-signature" cols="72">Adrien P.</pre>
      <div class="moz-cite-prefix">Le 05/11/2019 à 12:39, Yves P. a
        écrit :<br>
      </div>
      <blockquote type="cite"
        cite="mid:3E86D05A-1C66-4BEC-BAB0-4595EC160110@gmail.com">
        <meta http-equiv="Content-Type" content="text/html;
          charset=UTF-8">
        <div>Bonjour,</div>
        <div><br class="">
          <blockquote type="cite" class="">
            <div class="">Le 3 nov. 2019, PanierAvide  a écrit :</div>
            <br class="Apple-interchange-newline">
            <div class="">
              <p style="caret-color: rgb(0, 0, 0); font-family:
                Helvetica; font-size: 12px; font-style: normal;
                font-variant-caps: normal; font-weight: normal;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; -webkit-text-stroke-width: 0px;
                text-decoration: none;" class="">Sur le modèle du
                fichier MapCSS pour les tags Wikimedia, on peut ajouter
                une règle avec un "regexp_match" pour
                rechercher/remplacer automatiquement. Pour une raison
                qui m'échappe, la règle suivante qui devrait faire le
                boulot ne fonctionne pas (pour tester, créer un nœud
                avec le tag mapillary=<a class="moz-txt-link-freetext"
href="https://www.mapillary.com/app/?lat=49.18298900000002&lng=-2.1090169999999944&z=17&pKey=XCcwknc5F9zgqs6GKBUFig"
                  moz-do-not-send="true">https://www.mapillary.com/app/?lat=49.18298900000002&lng=-2.1090169999999944&z=17&pKey=XCcwknc5F9zgqs6GKBUFig</a><span
                  class="Apple-converted-space"> </span>) :<br class="">
              </p>
              <p style="caret-color: rgb(0, 0, 0); font-family:
                Helvetica; font-size: 12px; font-style: normal;
                font-variant-caps: normal; font-weight: normal;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; -webkit-text-stroke-width: 0px;
                text-decoration: none;" class=""><code class="">*[mapillary][mapillary!~/^[a-zA-Z0-9_-]{22}$/][mapillary=~/pKey=[a-zA-Z0-9_-]{22}/]
                  {</code><code class=""><br class="">
                </code><code class="">    throwError: tr("mapillary tag
                  should only contain image ID instead of full URL");</code><code
                  class=""><br class="">
                </code><code class="">    fixAdd: concat("mapillary=",
                  get(regexp_match("pKey=([a-zA-Z0-9_-]{22})",
                  tag("mapillary")),1));</code><code class=""><br
                    class="">
                </code><code class="">}</code></p>
              <p style="caret-color: rgb(0, 0, 0); font-family:
                Helvetica; font-size: 12px; font-style: normal;
                font-variant-caps: normal; font-weight: normal;
                letter-spacing: normal; text-align: start; text-indent:
                0px; text-transform: none; white-space: normal;
                word-spacing: 0px; -webkit-text-stroke-width: 0px;
                text-decoration: none;" class="">Si un expert
                JOSM/MapCSS peut nous éclairer là-dessus... :-)</p>
              <div class=""><br class="">
              </div>
            </div>
          </blockquote>
          En fait, c’est comme si il manquait le flag « g ».</div>
        <div>L’expression « <b class="">pKey=(.*)</b> » ne fonctionne
          pas, mais « <b class="">.*pKey=(.*).* </b>» oui !!</div>
        <div><br class="">
        </div>
        <div>La <a
href="https://josm.openstreetmap.de/wiki/Help/Styles/MapCSSImplementation"
            class="" moz-do-not-send="true">doc</a> parle de flag i, m
          ou s.</div>
        <div><span style="background-color: rgb(255, 255, 255);"
            class=""><font class="" size="2" face="Verdana, Arial,
              Bitstream Vera Sans, Helvetica, sans-serif">Flags is a
              string that may contain "i" (case insensitive), "m"
              (multiline) and "s" ("dot all »)</font></span></div>
        <div><span style="background-color: rgb(255, 255, 255);"
            class=""><font class="" size="2" face="Verdana, Arial,
              Bitstream Vera Sans, Helvetica, sans-serif">Idem pour </font></span><a
href="https://josm.openstreetmap.de/doc/org/openstreetmap/josm/gui/mappaint/mapcss/Functions.html#regexp_match-java.lang.String-java.lang.String-java.lang.String-"
            class="" moz-do-not-send="true">Javadoc</a></div>
        <div><br class="">
        </div>
        <div>Il y a plus de flags décrit <a
href="https://josm.openstreetmap.de/doc/org/openstreetmap/josm/gui/mappaint/mapcss/Functions.html#regexp_match-java.lang.String-java.lang.String-java.lang.String-"
            class="" moz-do-not-send="true">ici</a> : </div>
        <dl style="caret-color: rgb(53, 56, 51); color: rgb(53, 56, 51);
          font-family: "DejaVu Sans", Arial, Helvetica,
          sans-serif; background-color: rgb(255, 255, 255);" class="">
          <dd style="margin: 5px 0px 10px; font-family: "DejaVu
            Sans Mono", monospace;" class=""><code
              style="font-family: "DejaVu Sans Mono",
              monospace; padding-top: 4px; margin-top: 8px; line-height:
              1.4em;" class="">flags</code> - Match flags, a bit mask
            that may include <a
href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#CASE_INSENSITIVE"
              style="text-decoration: none; color: rgb(74, 103, 130);"
              class="" moz-do-not-send="true"><code style="font-family:
                "DejaVu Sans Mono", monospace; padding-top:
                4px; margin-top: 8px; line-height: 1.4em;" class="">CASE_INSENSITIVE</code></a>, <a
href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#MULTILINE"
              style="text-decoration: none; color: rgb(74, 103, 130);"
              class="" moz-do-not-send="true"><code style="font-family:
                "DejaVu Sans Mono", monospace; padding-top:
                4px; margin-top: 8px; line-height: 1.4em;" class="">MULTILINE</code></a>, <a
href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#DOTALL"
              style="text-decoration: none; color: rgb(74, 103, 130);"
              class="" moz-do-not-send="true"><code style="font-family:
                "DejaVu Sans Mono", monospace; padding-top:
                4px; margin-top: 8px; line-height: 1.4em;" class="">DOTALL</code></a>, <a
href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#UNICODE_CASE"
              style="text-decoration: none; color: rgb(74, 103, 130);"
              class="" moz-do-not-send="true"><code style="font-family:
                "DejaVu Sans Mono", monospace; padding-top:
                4px; margin-top: 8px; line-height: 1.4em;" class="">UNICODE_CASE</code></a>, <a
href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#CANON_EQ"
              style="text-decoration: none; color: rgb(74, 103, 130);"
              class="" moz-do-not-send="true"><code style="font-family:
                "DejaVu Sans Mono", monospace; padding-top:
                4px; margin-top: 8px; line-height: 1.4em;" class="">CANON_EQ</code></a>, <a
href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#UNIX_LINES"
              style="text-decoration: none; color: rgb(74, 103, 130);"
              class="" moz-do-not-send="true"><code style="font-family:
                "DejaVu Sans Mono", monospace; padding-top:
                4px; margin-top: 8px; line-height: 1.4em;" class="">UNIX_LINES</code></a>, <a
href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#LITERAL"
              style="text-decoration: none; color: rgb(74, 103, 130);"
              class="" moz-do-not-send="true"><code style="font-family:
                "DejaVu Sans Mono", monospace; padding-top:
                4px; margin-top: 8px; line-height: 1.4em;" class="">LITERAL</code></a>, <a
href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#UNICODE_CHARACTER_CLASS"
              style="text-decoration: none; color: rgb(74, 103, 130);"
              class="" moz-do-not-send="true"><code style="font-family:
                "DejaVu Sans Mono", monospace; padding-top:
                4px; margin-top: 8px; line-height: 1.4em;" class="">UNICODE_CHARACTER_CLASS</code></a> and <a
href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#COMMENTS"
              style="text-decoration: none; color: rgb(74, 103, 130);"
              class="" moz-do-not-send="true"><code style="font-family:
                "DejaVu Sans Mono", monospace; padding-top:
                4px; margin-top: 8px; line-height: 1.4em;" class="">COMMENTS</code></a></dd>
        </dl>
        <div class="">Le flag g de Perl est implicite d’après la doc :</div>
        <div class="">
          <ul style="caret-color: rgb(71, 71, 71); color: rgb(71, 71,
            71); font-family: "DejaVu Serif", Georgia,
            "Times New Roman", Times, serif; font-size: 14px;"
            class="">
            <li class="">
              <p class="">Perl uses the <tt style="font-family:
                  "DejaVu Sans Mono", monospace; padding-top:
                  4px; margin-top: 8px; line-height: 1.4em;" class="">g</tt> flag
                to request a match that resumes where the last match
                left off. This functionality is provided implicitly by
                the <a
href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Matcher.html"
                  title="class in java.util.regex"
                  style="text-decoration: none; color: rgb(74, 103,
                  130);" class="" moz-do-not-send="true"><code
                    style="font-family: "DejaVu Sans Mono",
                    monospace; padding-top: 4px; margin-top: 8px;
                    line-height: 1.4em;" class="">Matcher</code></a> class:
                Repeated invocations of the <a
href="https://docs.oracle.com/javase/8/docs/api/java/util/regex/Matcher.html#find--"
                  style="text-decoration: none; color: rgb(74, 103,
                  130);" class="" moz-do-not-send="true"><code
                    style="font-family: "DejaVu Sans Mono",
                    monospace; padding-top: 4px; margin-top: 8px;
                    line-height: 1.4em;" class="">find</code></a> method
                will resume where the last match left off, unless the
                matcher is reset.</p>
            </li>
          </ul>
          <div class="">C’est comme si l’expression régulière était
            évaluée différemment par regexp_match et MapCSS ??</div>
        </div>
        <div class=""><br class="">
        </div>
        <div class="">—</div>
        <div class="">Yves</div>
        <div class=""><br class="">
        </div>
        <br>
        <fieldset class="mimeAttachmentHeader"></fieldset>
        <pre class="moz-quote-pre" wrap="">_______________________________________________
Talk-fr mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Talk-fr@openstreetmap.org" moz-do-not-send="true">Talk-fr@openstreetmap.org</a>
<a class="moz-txt-link-freetext" href="https://lists.openstreetmap.org/listinfo/talk-fr" moz-do-not-send="true">https://lists.openstreetmap.org/listinfo/talk-fr</a>
</pre>
      </blockquote>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Talk-fr mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Talk-fr@openstreetmap.org">Talk-fr@openstreetmap.org</a>
<a class="moz-txt-link-freetext" href="https://lists.openstreetmap.org/listinfo/talk-fr">https://lists.openstreetmap.org/listinfo/talk-fr</a>
</pre>
    </blockquote>
  </body>
</html>