Поиск текстов только в строках в пределах определенного количества символов - PullRequest
0 голосов
/ 25 сентября 2019

Я новичок и мне нужно регулярное выражение для проекта перевода, который помогает искать определенный текст только в строках, содержащих как минимум 1, так и максимум 20 символов.Я искал в Интернете и не мог найти удовлетворительный результат.Не могли бы вы помочь мне?Спасибо

Например:

1 testbtblal balbl al2845 tetete gsgsgs tetet
2 testblablablablal gsgsg gsgs gsgsg gsg
3 blabltetst alets jff            <----- 
4 125testblabal14test ablets blbla
5 test2584blaalj                  <----- Less than 20 characters also contains "bla" text
7 4rblatesbaltest845 testblabla test
8 blabalbal878testbaltesbla blabla test            
9 2584blaal jstba lest            <------
10 blablatest5 45blabla ffftest

Есть 10 строк, каждая из которых содержит текст «бла».Но мне нужно найти и заменить только слова бла в строках длиной менее 20 символов.

1 Ответ

0 голосов
/ 25 сентября 2019

Я предполагаю, что это простое выражение

^.{21,}$(*SKIP)(*FAIL)|bla

и замена

SOME_NEW_STRING

может решить проблему.Здесь мы просто нашли бы строку длиной более 20 символов, затем пропустили бы FAIL, а затем просто заменили бы bla на все остальное, что было бы желательно.


Если вы хотите упростить / изменить / изучить выражение, это было объяснено на верхней правой панели regex101.com .Если хотите, вы также можете посмотреть в эту ссылку , как она будет сопоставляться с некоторыми примерами ввода.


...