I will point out that parsing XML with regex isn't really how you should do 
things... (but then I work with XML every day and I do understand there are 
some needs that XSLT and XPATH won't work for with folks). 

On Friday, December 1, 2023 at 12:54:43 PM UTC-6 Samir Vasaya wrote:

> Hi Jean,
> thanks for confirming my observations.
> yes the tag you mentioned is not closed.
> I have mailed to barebones, and I found  them to be very supportive and 
> they have promised a fix, 
> may be not soon , but they are working to solve the issue.
>
> Thanks.
> On Thursday, November 30, 2023 at 2:19:55 PM UTC+5:30 jj wrote:
>
>> 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 [email protected] 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 "[email protected]" 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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/bbedit/4ed82562-1769-470b-a73c-4ee2a45d4be8n%40googlegroups.com.

Reply via email to