![Регулярное выражение для «Удалить все, что идет дальше, но только до начала [Выражение]»](https://rvso.com/image/1457280/%D0%A0%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BD%D0%BE%D0%B5%20%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B4%D0%BB%D1%8F%20%C2%AB%D0%A3%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D1%8C%20%D0%B2%D1%81%D0%B5%2C%20%D1%87%D1%82%D0%BE%20%D0%B8%D0%B4%D0%B5%D1%82%20%D0%B4%D0%B0%D0%BB%D1%8C%D1%88%D0%B5%2C%20%D0%BD%D0%BE%20%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D0%B4%D0%BE%20%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D0%B0%20%5B%D0%92%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%5D%C2%BB%20.png)
Я в Notepad++. У меня есть следующие данные, встроенные в большой html-файл. Я хочу получить переменные до </ix:nonNumeric>
конца строк, на их собственные строки, так что вывод будет таким:
00891906 1.12.13 30.11.14 30.11.14 Company Accounts Private Limited Company
и т. д.
Данных больше, но если я смогу заставить regex сделать это, я смогу обработать остальное. Спасибо. Когда все заработает, я воспользуюсь Batch Replace в каталоге и сделаю это с несколькими txt-файлами.
Если кто-то может решить вышеприведенное и показать ввод регулярного выражения Notepad++ Find&Replace для этого, я должен быть в состоянии взломать его. Это сводит меня с ума.
Чтобы увидеть полные данные и выражения, которые я написал, чтобы попытаться извлечь из них переменные, посмотрите этот текстовый файл:http://www.filedropper.com/jaderaw
Ниже приведена основная часть данных. Если кто-то сможет решить приведенную ниже задачу для поиска и замены в Notepad++ и показать мне, это было бы здорово.
Спасибо
`<ix:hidden>
<ix:nonNumeric contextRef="FY_30_11_2014" name="ns7:NameAuthor" order="1" tupleRef="XBRLDocumentAuthorGrouping_Group45" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL"></ix:nonNumeric>
<ix:nonNumeric contextRef="FY_30_11_2014" name="ns7:DescriptionOrTitleAuthor" order="2" tupleRef="XBRLDocumentAuthorGrouping_Group45" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL"></ix:nonNumeric>
<ix:nonNumeric contextRef="FY_30_11_2014" name="ns7:UKCompaniesHouseRegisteredNumber" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">00891906</ix:nonNumeric>
<ix:nonNumeric contextRef="CountriesHypercube_FY_30_11_2014_Set1" name="ns7:CountryFormationOrIncorporation" format="ixt2:nocontent" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" />
<ix:nonNumeric contextRef="CurrenciesHypercube_FY_30_11_2014_Set2" name="ns7:PrincipalCurrencyUsedInBusinessReport" format="ixt2:nocontent" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" />
<ix:nonNumeric contextRef="EntityOfficersHypercube_FY_30_11_2014_Set3" name="ns5:NameDirectorSigningAccounts" format="ixt2:nocontent" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" />
<ix:nonNumeric contextRef="cfwd_30_11_2014" name="ns7:StartDateForPeriodCoveredByReport" format="ixt2:datedaymonthyear" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">1.12.13</ix:nonNumeric>
<ix:nonNumeric contextRef="cfwd_30_11_2014" name="ns7:EndDateForPeriodCoveredByReport" format="ixt2:datedaymonthyear" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">30.11.14</ix:nonNumeric>
<ix:nonNumeric contextRef="cfwd_30_11_2014" name="ns7:BalanceSheetDate" format="ixt2:datedaymonthyear" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">30.11.14</ix:nonNumeric>
<ix:nonNumeric contextRef="FY_30_11_2014" name="ns7:EntityAccountsType" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">Company accounts</ix:nonNumeric>
<ix:nonNumeric contextRef="FY_30_11_2014" name="ns7:LegalFormOfEntity" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">Private Limited Company</ix:nonNumeric>
<ix:nonNumeric contextRef="FY_30_11_2014" name="ns7:DescriptionPeriodCoveredByReport" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">FY</ix:nonNumeric>
<ix:nonNumeric contextRef="FY_30_11_2014" name="ns7:EntityTrading" format="ixt2:booleantrue" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">true</ix:nonNumeric>
<ix:nonNumeric contextRef="FY_30_11_2014" name="ns7:EntityDormant" format="ixt2:booleanfalse" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">false</ix:nonNumeric>
<ix:nonNumeric contextRef="FY_30_11_2014" name="ns5:AccountsPreparedUnderHistoricalCostConventionInAccordanceWithFRSSE" format="ixt2:booleantrue" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">true</ix:nonNumeric>
<ix:nonNumeric contextRef="FY_30_11_2014" name="ns5:CompanyExemptFromPreparingCashFlowStatementUnderFRS1" format="ixt2:booleanfalse" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">false</ix:nonNumeric>
<ix:nonNumeric contextRef="FY_30_11_2014" name="ns5:AccountsHaveBeenPreparedInAccordanceWithProvisionsSmallCompaniesRegime" format="ixt2:booleantrue" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">true</ix:nonNumeric>
<ix:nonNumeric contextRef="FY_30_11_2014" name="ns5:RelatedPartyTransactionExemptionBeingClaimed" format="ixt2:booleanfalse" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">false</ix:nonNumeric>
<ix:nonNumeric contextRef="FY_30_11_2014" name="ns6:CompanyHasActedAsAnAgentDuringPeriod" format="ixt2:booleanfalse" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">false</ix:nonNumeric>
<ix:nonNumeric contextRef="SharesHypercube_FY_30_11_2014_Set4" name="ns7:DescriptionShareType" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">Ordinary</ix:nonNumeric>
<ix:nonFraction contextRef="SharesHypercube_FY_30_11_2014_Set4" name="ns5:ParValueShare" unitRef="GBP" decimals="INF" format="ixt2:numdotdecimal" scale="0" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL">1.00000</ix:nonFraction>
<ix:tuple name="ns7:XBRLDocumentAuthorGrouping" tupleID="XBRLDocumentAuthorGrouping_Group45" /></ix:hidden>
<ix:references>
<link:schemaRef xlink:href="http://www.xbrl.org/uk/gaap/core/2009-09-01/uk-gaap-full-2009-09-01.xsd" xlink:type="simple" /></ix:references>
<ix:resources>
<xbrli:unit id="GBP"><xbrli:measure>iso4217:GBP</xbrli:measure></xbrli:unit><xbrli:unit id="USD"><xbrli:measure>iso4217:USD</xbrli:measure>`
решение1
Во-первых, чтобы объединить набор независимых регулярных выражений, просто используйтеХарактер чередования( | ) между ними, что означает «это выражение ИЛИ выражение». Например:
expr1 = "^[a-z]+"
expr2 = "^[0-9]+"
combinedexpr = "^[a-z]+ | ^[0-9]+"
Combinedexpr будет соответствовать любой строке, начинающейся со строчной буквы ИЛИ цифры.
Что касается NPP, обычно метод поиска регулярных выражений используется с опцией замены, поэтому вам по сути нужно инвертировать ваши регулярные выражения так, чтобы они возвращали все строки, которые НЕ являются нужными вам выражениями, а затем вы заменяете их ничем, оставляя только интересующие вас строки.
Если вам действительно нужно сделать это с несколькими файлами, рассмотрите возможность создания скрипта на Python или PowerShell или чем-то еще, чтобы вы могли контролировать входы и выходы или обойти неловкость инвертирования ваших регулярных выражений просто потому, что поиск NPP связан с поиском/заменой. Вы также можете найти плагин NPP, который позволяет вам извлекать указанные совпадения, но это не стандартная функция.
Ознакомьтесь с этой статьей о том, как использовать скрипт PowerShell в Windows для извлечения соответствий регулярных выражений из указанного файла:http://www.gfi.com/blog/windows-powershell-extracting-strings-using-regular-expressions/
Удачи