Hi Samir,

A few remarks.

1. The <ACCOUNTINGALLOCATIONS.LIST> tag is not correctly closed in you XML 
example.

2. I can reproduce the issue you mention and effectively BBEdit is 
returning garbage in the 'Replacement Text' field of the playground even if 
it shows the correct \2 in the 'Capture Groups' table.

3. If you use your pattern/replacement in a find/replace over you sample 
text and extract the results in a new document,  you can clearly see with 
'File > Hex Dump Front Document' that the replacements are pointing to 
random memory.

4. There is apparently a bug somewhere.

5. You should send an email to supp...@barebones.com with your issue to 
open a case.

HTH,

Jean Jourdain


On Wednesday, November 29, 2023 at 9:22:15 PM UTC+1 Samir Vasaya wrote:

> Hello.
> I have a .xlm file with below sample contents.
>
>      <ALLINVENTORYENTRIES.LIST>
>       <STOCKITEMNAME>MYNoodles_5Rs_0720</STOCKITEMNAME>
>       <HSNITEMSOURCE></HSNITEMSOURCE>
>       <BATCHALLOCATIONS.LIST>
>        <GODOWNNAME>Main Location</GODOWNNAME>
>       </BATCHALLOCATIONS.LIST>
>       <ACCOUNTINGALLOCATIONS.LIST>
>        <OLDAUDITENTRYIDS.LIST TYPE="Number">
>         <OLDAUDITENTRYIDS>-1</OLDAUDITENTRYIDS>
>        </OLDAUDITENTRYIDS.LIST>
>        <LEDGERNAME>Sales @ 12% GST</LEDGERNAME>
>      </ALLINVENTORYENTRIES.LIST>
>      <ALLINVENTORYENTRIES.LIST>
>       <STOCKITEMNAME>PF 05 CNS0720</STOCKITEMNAME>
>       <HSNITEMSOURCE></HSNITEMSOURCE>
>       <BATCHALLOCATIONS.LIST>
>        <GODOWNNAME>Main Location</GODOWNNAME>
>       </BATCHALLOCATIONS.LIST>
>       <ACCOUNTINGALLOCATIONS.LIST>
>        <OLDAUDITENTRYIDS.LIST TYPE="Number">
>         <OLDAUDITENTRYIDS>-1</OLDAUDITENTRYIDS>
>        </OLDAUDITENTRYIDS.LIST>
>        <LEDGERNAME>Sales @ 12% GST</LEDGERNAME>
>      </ALLINVENTORYENTRIES.LIST>
>
>
> I do a Search and Replace using Grep in BBEdit with
>
> Search pattern:
>
>
> (?s)(?=<ALLINVENTORYENTRIES\.LIST>(?|(<STOCKITEMNAME>)|.)*?(?(1)(?=([^<]+)<\/STOCKITEMNAME>)|<\/ALLINVENTORYENTRIES\.LIST>))(?(2)(?=<ALLINVENTORYENTRIES\.LIST>(?|(<HSNITEMSOURCE>)|.)*?(?(3)(?=(\2))?|<\/ALLINVENTORYENTRIES\.LIST>))(?(3)(?(4)^\b$|<ALLINVENTORYENTRIES\.LIST>.*?(?=<HSNITEMSOURCE>)<HSNITEMSOURCE>\K)|^\b$)|^\b$)
>
>
>
> Replace pattern:
>
> \2
>
>
> Im not getting the desired results, Pattern playground hi lights sub 
> patterns 1, 2 and 3 Correctly, But the Replacement text: for \2 shows the 
> captured text incorrectly.
>
>
> Am I m doing something wrong. I have gone through BBEdit manual, but 
> couldn’t find anything that helped.
>
> I ran the same pattern in Notepad++ and it works flawlessly.
>
>

-- 
This is the BBEdit Talk public discussion group. If you have a feature request 
or need technical support, please email "supp...@barebones.com" rather than 
posting here. Follow @bbedit on Twitter: <https://twitter.com/bbedit>
--- 
You received this message because you are subscribed to the Google Groups 
"BBEdit Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to bbedit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/bbedit/7d195ba8-f5c6-4feb-beea-6fb0358124abn%40googlegroups.com.

Reply via email to