<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Escaping $ (dollar sign) in a regex backreference in notebook (so not seen as a parameter) in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/escaping-dollar-sign-in-a-regex-backreference-in-notebook-so-not/m-p/86648#M37323</link>
    <description>&lt;P&gt;Hi, just put a backslash before $ as an escape character:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="filipniziol_0-1724958137217.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/10788iD7FD28FC5E492818/image-size/medium?v=v2&amp;amp;px=400" role="button" title="filipniziol_0-1724958137217.png" alt="filipniziol_0-1724958137217.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 29 Aug 2024 19:02:53 GMT</pubDate>
    <dc:creator>filipniziol</dc:creator>
    <dc:date>2024-08-29T19:02:53Z</dc:date>
    <item>
      <title>Escaping $ (dollar sign) in a regex backreference in notebook (so not seen as a parameter)</title>
      <link>https://community.databricks.com/t5/data-engineering/escaping-dollar-sign-in-a-regex-backreference-in-notebook-so-not/m-p/86445#M37320</link>
      <description>&lt;P&gt;I am trying to do a regular expression replace in a Databricks notebook.&lt;/P&gt;&lt;P&gt;The following query works fine in a regular query (i.e. not running it in a cell in a notebook):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;select regexp_replace('abcd', '^(.+)c(.+)$', '$1_$2') --normally outputs ab_d&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, if you run it in a notebook cell, it does not work correctly. Instead the query output is an empty string and a small warning is shown:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;SQL query contains $ parameter. Migrate to the parameter marker syntax, :param:
Parameter values:

    2: &amp;lt;empty&amp;gt;
    1_: &amp;lt;empty&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;The warning includes a link: &lt;A href="https://docs.databricks.com/notebooks/widgets.html#use-widget-values-in-spark-sql-and-sql-warehouse" target="_blank" rel="noopener"&gt;https://docs.databricks.com/notebooks/widgets.html#use-widget-values-in-spark-sql-and-sql-warehouse&lt;/A&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;So it is incorrectly interpreting the back references ($1 and $2) as parameters that are not supplied via a widget.&lt;/DIV&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;I can work around this issue by doing some string concatenation like so (so that $ is never followed by a number):&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;select regexp_replace('abcd', '^(.+)c(.+)$', '$'||'1_$'||'2')​&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;but that feels like a hack/kludge. Is there a better way to avoid this issue or escape the dollar sign?&lt;/DIV&gt;</description>
      <pubDate>Thu, 29 Aug 2024 15:30:25 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/escaping-dollar-sign-in-a-regex-backreference-in-notebook-so-not/m-p/86445#M37320</guid>
      <dc:creator>eriodega</dc:creator>
      <dc:date>2024-08-29T15:30:25Z</dc:date>
    </item>
    <item>
      <title>Re: Escaping $ (dollar sign) in a regex backreference in notebook (so not seen as a parameter)</title>
      <link>https://community.databricks.com/t5/data-engineering/escaping-dollar-sign-in-a-regex-backreference-in-notebook-so-not/m-p/86648#M37323</link>
      <description>&lt;P&gt;Hi, just put a backslash before $ as an escape character:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="filipniziol_0-1724958137217.png" style="width: 400px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/10788iD7FD28FC5E492818/image-size/medium?v=v2&amp;amp;px=400" role="button" title="filipniziol_0-1724958137217.png" alt="filipniziol_0-1724958137217.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Aug 2024 19:02:53 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/escaping-dollar-sign-in-a-regex-backreference-in-notebook-so-not/m-p/86648#M37323</guid>
      <dc:creator>filipniziol</dc:creator>
      <dc:date>2024-08-29T19:02:53Z</dc:date>
    </item>
  </channel>
</rss>

