Страница 2 из 2
Re: Regular Expression очень надо
Добавлено: 24 июн 2015, 23:16
borei
Kiseta писал(а):задача следующая, надо одним движением с помощью Search/Replace задействуя Regular Expression превратить это
Код: Выделить всё
SomeFunction "DIR_AB", "lfskjdf"
SomeFunction "DIR_AB", "sdjfjfalsdjf"
SomeFunction "DIR_BC_AB", "askldjflsakj"
SomeFunction "DIR_CD", "lksdjfaksj"
SomeFunction "DIR_BC", "sakdjff[aslkdf"
SomeFunction "DIR_CD_AB", "skjdhfj"
SomeFunction "DIR_BCD_AB", "woieurowiuer"
SomeFunction "DIR_CD", "xscmnv"
SomeFunction "DIR_AB", "slkdfljs"
SomeFunction "DIR_AB", "llskdjflskjdf"
вот в это
Код: Выделить всё
"lfskjdf"
"sdjfjfalsdjf"
"askldjflsakj"
"lksdjfaksj"
"sakdjff[aslkdf"
"skjdhfj"
"woieurowiuer"
"xscmnv"
"slkdfljs"
"llskdjflskjdf"
короче надо убрать SomeFunction call - это всегда одинаково, плюс первый аргумент, который может быть какой угодно, одинаковый или разный. Сейчас движений от двух и более, в зависимости от того сколько разных вариантов первого аргумена
поможите добрые люди плиз
Спасибо!
в linux
cat <file_name> | awk -F ',' '{print $2}' > <new_filename>
Re: Regular Expression очень надо
Добавлено: 25 июн 2015, 01:21
Kiseta
Kate писал(а):search pattern?
да, хорошо, наверное больше подходит в данном случае, спасибо Kate!
Re: Regular Expression очень надо
Добавлено: 03 июл 2015, 16:53
Algor
для строки регекспа в редакторе сработает такое
.*(, )
Re: Regular Expression очень надо
Добавлено: 29 фев 2016, 11:47
Kiseta
есть вот такой текст
Код: Выделить всё
PROGRESSEmbrace constraintsBuild half a product, not a half-assed productStart at the epicenterIgnore the details early onMaking the call is making progressBe a curatorThrow less at the problemFocus on what won't changeTone is in your fingersSell your by-productsLaunch now
PRODUCTIVITYIllusions of agreementReasons to quitInterruption is the enemy of productivityMeetings are toxicGood enough is fineQuick winsDon't be a heroGo to sleepYour estimates suckLong lists don't get doneMake tiny decisions
COMPETITORSDon't copyDecommoditize your productPick a fightUnderdo your competitionWho cares what they're doing?
нужно regular expression который найдет capital letter после которой идет small letter и двинет текст начинающийся с capital letter на new line
find [A-Z][a-z]
replace /n [A-Z] - не работает - capital letter заменяется буквально на [A-Z]
спасибо!
Re: Regular Expression очень надо
Добавлено: 29 фев 2016, 12:26
tasko
Kiseta писал(а):
find [A-Z][a-z]
replace /n [A-Z] - не работает - capital letter заменяется буквально на [A-Z]
спасибо!
Говрят, надо заменять специальным кодом
John Smith, 385 Central Ave., Cincinnati, OH, 45238
into:
45238, Smith, John, 385 Central Ave., Cincinnati, OH
UltraEdit RegExp:
Find What: %^([a-z]+^) ^([a-z]+^), ^(*^), ^(*^), ^(*^), ^([0-9]+^)
Replace With: ^6, ^2, ^1, ^3, ^4, ^5
UNIX RegExp:
Find What: ^([a-z]+) ([a-z]+), (.*), (.*), (.*), ([0-9]+)
Replace With: \6, \2, \1, \3, \4, \5
http://www.ultraedit.com/support/tutori ... sions.html
Re: Regular Expression очень надо
Добавлено: 29 фев 2016, 20:56
mrskhris
perl -p -i.old -e 's#([A-Z])([a-z])#\n$1$2#g' ttt.txt
Re: Regular Expression очень надо
Добавлено: 29 фев 2016, 22:06
Kiseta
ага, спасибо всем кто ответил, все сделано (в ручную) как всегда нужно было срочно, быстрее было в ручную, слава богу не много оказалось
Re: Regular Expression очень надо
Добавлено: 08 дек 2016, 09:54
Yury
еще один кладезь, может кому надо:
https://regex101.com/#javascript
Re: Regular Expression очень надо
Добавлено: 10 июл 2018, 10:56
Kiseta
Найти текст вот в таком виде - с запятой, разные суммы, пробел, CR
Убрать запятую, пробел, CR, добавить знак минус в начале строки - что бы получилось вот так
Re: Regular Expression очень надо
Добавлено: 10 июл 2018, 11:20
Kiseta
Kiseta писал(а):Найти текст вот в таком виде - с запятой, разные суммы, пробел, CR
Убрать запятую, пробел, CR, добавить знак минус в начале строки - что бы получилось вот так
заменила в два шага, сначала минус в начале строки, потом убрать пробел CR
всем спасибо
Re: Regular Expression очень надо
Добавлено: 12 июл 2018, 20:47
Leo Gan
Kiseta писал(а):задача следующая, надо одним движением с помощью Search/Replace задействуя Regular Expression превратить это
Код: Выделить всё
SomeFunction "DIR_AB", "lfskjdf"
SomeFunction "DIR_AB", "sdjfjfalsdjf"
SomeFunction "DIR_BC_AB", "askldjflsakj"
SomeFunction "DIR_CD", "lksdjfaksj"
SomeFunction "DIR_BC", "sakdjff[aslkdf"
SomeFunction "DIR_CD_AB", "skjdhfj"
SomeFunction "DIR_BCD_AB", "woieurowiuer"
SomeFunction "DIR_CD", "xscmnv"
SomeFunction "DIR_AB", "slkdfljs"
SomeFunction "DIR_AB", "llskdjflskjdf"
вот в это
Код: Выделить всё
"lfskjdf"
"sdjfjfalsdjf"
"askldjflsakj"
"lksdjfaksj"
"sakdjff[aslkdf"
"skjdhfj"
"woieurowiuer"
"xscmnv"
"slkdfljs"
"llskdjflskjdf"
короче надо убрать SomeFunction call - это всегда одинаково, плюс первый аргумент, который может быть какой угодно, одинаковый или разный. Сейчас движений от двух и более, в зависимости от того сколько разных вариантов первого аргумена
поможите добрые люди плиз
Спасибо!
Find:
(.* )(\".+\")$
Replace:
\2
работает в Notepad++
Что все это значит? В первых скобках ищется все, что заканчивается на пробел. Во вторых скобках ищется все, что начинается на двойную кавычку, потом хоть один любой символ, потом опять двойная кавычка сразу перед концом строки.
То, что находится в первых скобках обозначается в Replace, как \1 а что в вторых скобках - обозначается как \2
т.е. мы выбрасываем все, что перед последним в строке закаыченным сочетанием. Оставляем все, что в этом последнем сочетании, вместе с кавычками.
Re: Regular Expression очень надо
Добавлено: 12 июл 2018, 21:06
Leo Gan
Kiseta писал(а):Найти текст вот в таком виде - с запятой, разные суммы, пробел, CR
Убрать запятую, пробел, CR, добавить знак минус в начале строки - что бы получилось вот так
in Notepad++
Find:
((\d{1,3}(,\d\d\d)*)\.?\d*) CR$
Replace:
-\1
Test:
1,887.31 CR
1 CR
1.31 CR
1,887 CR
1,234,234,887.31 CR
1,234,234,887 CR
Result:
-1,887.31
-1
-1.31
-1,887
-1,234,234,887.31
-1,234,234,887
Re: Regular Expression очень надо
Добавлено: 12 июл 2018, 22:51
Kiseta
Leo Gan писал(а):
Что все это значит? В первых скобках ищется все, что заканчивается на пробел. Во вторых скобках ищется все, что начинается на двойную кавычку, потом хоть один любой символ, потом опять двойная кавычка сразу перед концом строки.
То, что находится в первых скобках обозначается в Replace, как \1 а что в вторых скобках - обозначается как \2
т.е. мы выбрасываем все, что перед последним в строке закаыченным сочетанием. Оставляем все, что в этом последнем сочетании, вместе с кавычками.
Вот! Спасибо за объяснение
не просто, перефразируя библию, бананами накормить, а еще и научить их выращивать
Re: Regular Expression очень надо
Добавлено: 12 июл 2018, 22:53
Kiseta
Leo Gan писал(а):Kiseta писал(а):Найти текст вот в таком виде - с запятой, разные суммы, пробел, CR
Убрать запятую, пробел, CR, добавить знак минус в начале строки - что бы получилось вот так
in Notepad++
Find:
((\d{1,3}(,\d\d\d)*)\.?\d*) CR$
Replace:
-\1
Test:
1,887.31 CR
1 CR
1.31 CR
1,887 CR
1,234,234,887.31 CR
1,234,234,887 CR
Result:
-1,887.31
-1
-1.31
-1,887
-1,234,234,887.31
-1,234,234,887
Тоже спасибо!
зачетно бы в банке на счете смотрелось