Подскажите, как произвести замену в Н++

12 3
JB
На сайте с 09.05.2014
Offline
239
812

Часть каждой строки заменить другой частью, то есть каждый "|" заменить каждым "\n.*\("

Где \n.*\( - это начало каждой строки, а | это часто встречающееся в строке  выражение после

Можно ли так вообще?

ArbNet
На сайте с 27.10.2019
Offline
125
#1
Можно
Обсуждение разработки на моём фреймворке https://discord.gg/23N4s9x2kp
SeVlad
На сайте с 03.11.2008
Offline
1609
#2
JungleBox :
Где \n.*\( - это начало каждой строки, а | это часто встречающееся в строке  выражение после

\n - это не "начало новой строки", а перенос. ( \n.*\ в твоём контексте вообще чушь)

Символ | - не "часто встречающееся в строке  выражение", а разделитель.

Если хочешь чтоб подсказали регулярку - привели конкретный пример с понятным описанием задачи.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
JB
На сайте с 09.05.2014
Offline
239
#3

<a href="https://somesite.com/page1">(anchor1|anchor2|ahchor3|anchor4)</a>
<a href="https://somesite.com/page2">(anchor5|anchor6|ahchor7|anchor8)</a>
<a href="https://somesite.com/page3">(anchor9|anchor10|ahchor11|anchor12)</a>
 
Превратить в построчное перечисление анкоров а то есть в 12 строчек.

\n.*\( это регулярка от начала строки до открывающейся скобки.

D
На сайте с 28.06.2008
Offline
1101
#4
regex101: build, test, and debug regex
regex101: build, test, and debug regex
  • Firas Dib
  • regex101.com
The advertisements are provided by Carbon, but implemented by regex101. No cookies will be used for tracking and no third party scripts will be loaded. The information is fetched using a JSONP request, which contains the ad text...
JB
На сайте с 09.05.2014
Offline
239
#5

<a href="https://somesite.com/page1">(anchor1|anchor2|ahchor3|anchor4)</a>


Вот из этого сделать четыре анкора перечисленных в столбик. ) только таких строчек много и нужно разделать каждую на строчки анкоров)


Куда уж еще проще

SeVlad
На сайте с 03.11.2008
Offline
1609
#6
JungleBox #:
Превратить в построчное перечисление анкоров а то есть в 12 строчек.

В два прохода.

1. Регулярками

<a href.*\((.*)\).*<\/a>


заменить на

\1

(это в Акелпаде. В N++ может быть чуть другой синтаксис)

2. Уже без регулярок, но с Esc-последовательностями заменить

|

на

\n


Профит!


JungleBox #:
\n.*\( это регулярка от начала строки до открывающейся скобки.
Только не от начала (текущей), а от конца предыдущей. Это таки разные вещи.
JB
На сайте с 09.05.2014
Offline
239
#7

Интересен вариант с регуляркой, но желательно чтобы проверить где то)

У меня не сработало на этом коде:


<a href="https://somesite.com/page1">(anchor1|anchor2|ahchor3|anchor4)</a>

<a href="https://somesite.com/page2">(anchor5|anchor6|ahchor7|anchor8)</a>

<a href="https://somesite.com/page3">(anchor9|anchor10|ahchor11|anchor12)</a>
SeVlad
На сайте с 03.11.2008
Offline
1609
#8
JungleBox #:
Интересен вариант с регуляркой, но желательно чтобы проверить где то)

Я пишу код только если сам его проверил (или из документации, но это естественно не в данном случае).

Я проверил в акелпаде.

JungleBox #:
У меня не сработало на этом коде:
:
SeVlad #:
(это в Акелпаде. В N++ может быть чуть другой синтаксис)



JB
На сайте с 09.05.2014
Offline
239
#9

Так задача не совсем в этом, а в том чтобы превратить в гиперссылки на штмл

было это

<a href="https://somesite.com/page1">(anchor1|anchor2|ahchor3|anchor4)</a>


стало это


<a href="https://somesite.com/page1">anchor1</a>

<a href="https://somesite.com/page1">anchor2</a>

<a href="https://somesite.com/page1">anchor3</a>

<a href="https://somesite.com/page1">anchor4</a>


Это то что нужно мне. Я возможно как то не понятно выражаюсь(

Ладно

R2
На сайте с 28.06.2020
Offline
47
Rus
#10
SeVlad #:
в твоём контексте вообще чушь

П - помощник

Отдам в хорошие руки туристический ресурс https://www.telderi.ru/ru/viewsite/2421023
12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий