Здравствуйте, гость ( Вход | Регистрация )
|
AD |
27.8.2008, 17:29
Сообщение
#1
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17
|
Буду благодарен, если напишите правильный regexp для след. цели: надо найти в строке символы, не являющиеся цифрами и точкой/запятой.
|
|
|
|
![]() |
|
Litkevich Yuriy |
27.8.2008, 21:41
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Tonal, выглядит почти так
;) |
|
|
|
|
AD |
28.8.2008, 13:28
Сообщение
#3
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17
|
Хотел немного уточнить - а как сделать так, чтобы пробелы он тоже пропускал, есть ли значок "или" в регэкспе (нужно для того, чтобы пропускать спец. фразы - например, "C_OFF, C_ON, W_OFF, W_ON")?
|
|
|
|
|
AD |
28.8.2008, 16:41
Сообщение
#4
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17
|
//
Вот сделал вот такой regexp! Теперь осталось только додумать, чтобы отдельные символы "_", которые встречаются не в этих словосочетаниях тоже удалялись. Помогите, пожалуйста, доработать эту штуку! |
|
|
|
|
Tonal |
29.8.2008, 8:54
Сообщение
#5
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17
|
Цитата(AD @ 28.8.2008, 20:41) Link Ужос! Ты бы прочитал что-нибудь по регэкспам, стало бы жить сильно проще. Краткое описание: Это описание может содержать неточности, для уточнения смотри ассистента! Конструкция [что-то здесь] - это всегда 1 символ. Она может включать явное перечисление символов, указание диапазона символов (например a-z означает любой символ начиная с a и оканчивая z), групповые символы (например \d - эквивалентно 0-9, а \s - любой из пробельных символов, \w - любой из символов слова). Кроме того, если сразу после открывающей скобки стоил символ ^, конструкция инвертируется, и означает 1 любой символ кроме указанных. Да, некоторые специальные символы внутри конструкции меняют своё значение. Например . обозначает именно точку а не все символы. \b символ забоя (вроде '\07')... Теперь сам можешь разобрать что ты написал. Про задачу. Давай ты вообще без регекспов, на человеческом языке напишешь чего тебе нужно? Например: У меня есть строка содержащая такое (примеры). Я хочу, сделать с ней что-то (например выбрать все числа, или числа и спец-значения, или убрать ненужные символы...) И вместе подумаем как это проще и понятнее реализовать. |
|
|
|
|
AD |
29.8.2008, 10:09
Сообщение
#6
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17
|
Цитата Ужос! Ты бы прочитал что-нибудь по регэкспам, стало бы жить сильно проще. Краткое описание: Это описание может содержать неточности, для уточнения смотри ассистента! Конструкция [что-то здесь] - это всегда 1 символ. Она может включать явное перечисление символов, указание диапазона символов (например a-z означает любой символ начиная с a и оканчивая z), групповые символы (например \d - эквивалентно 0-9, а \s - любой из пробельных символов, \w - любой из символов слова). Кроме того, если сразу после открывающей скобки стоил символ ^, конструкция инвертируется, и означает 1 любой символ кроме указанных. Да, некоторые специальные символы внутри конструкции меняют своё значение. Например . обозначает именно точку а не все символы. \b символ забоя (вроде '\07')... Теперь сам можешь разобрать что ты написал. Про задачу. Давай ты вообще без регекспов, на человеческом языке напишешь чего тебе нужно? Например: У меня есть строка содержащая такое (примеры). Я хочу, сделать с ней что-то (например выбрать все числа, или числа и спец-значения, или убрать ненужные символы...) И вместе подумаем как это проще и понятнее реализовать. Мне необходимо удалять из строки все символы, которые не относятся к:
Что значит символы забоя? Если честно, я просто не понимаю некоторых спец. терминов, можно пояснить, пожалуйста? Я по-диагонали читал ассистент. Там про \b написано: Цитата \b - A word boundary. For example the regexp \bOK\b means match immediately after a word boundary (e.g. start of string or whitespace) the letter 'O' then the letter 'K' immediately before another word boundary (e.g. end of string or whitespace). But note that the assertion does not actually match any whitespace so if we write (\bOK\b) and we have a match it will only contain 'OK' even if the string is "It's OK now". Потому, я и решил, что можно использовать эти конструкции. Спасибо за ответ, содержащий разумную критику! |
|
|
|
AD Правильное написание regexp 27.8.2008, 17:29
Tonal [^\d.,] 27.8.2008, 19:29
Litkevich Yuriy Цитата(AD @ 28.8.2008, 20:41) символы ... 28.8.2008, 16:46
AD В регэкспе как раз те словосочетания, которые не у... 28.8.2008, 16:55
Litkevich Yuriy вот и впиши его туда 28.8.2008, 17:02
AD Цитата(Litkevich Yuriy @ 28.8.2008, 18:02... 28.8.2008, 17:25
Litkevich Yuriy Так давай с начала,
надо найти в строке символы, н... 28.8.2008, 17:46
AD Цитата(Litkevich Yuriy @ 28.8.2008, 18:46... 28.8.2008, 18:02
Litkevich Yuriy смысл помоему не поменялся.
Т.е. анализатор ... 28.8.2008, 18:06
AD Цитата(Litkevich Yuriy @ 28.8.2008, 19:06... 28.8.2008, 18:22
Litkevich Yuriy Цитата(AD @ 29.8.2008, 14:09) символы заб... 29.8.2008, 10:48
Tonal 1) Про символ '\b' нужно читать не в ... 29.8.2008, 12:15
AD Цитата(Tonal @ 29.8.2008, 13:15) 1) Про с... 29.8.2008, 12:24
Tonal Напиши какие строки у тебя на входе, и что тебе ну... 29.8.2008, 12:58
AD ЦитатаНапиши какие строки у тебя на входе, и что т... 29.8.2008, 13:29
Tonal 1) Составляем выражение, которое найдёт последоват... 30.8.2008, 0:08
AD Цитата(Tonal @ 30.8.2008, 1:08) 1) Состав... 30.8.2008, 13:38
AD небольшой вопрос. А как сделать с помощью регэкспа... 1.9.2008, 12:38
Litkevich Yuriy AD, всмысле инверсии чтоли?
если да, то так [^...]... 1.9.2008, 12:45
Tonal Что такое "последовательность символов, не пр... 1.9.2008, 12:48
AD Цитата(Tonal @ 1.9.2008, 13:48) Что такое... 1.9.2008, 12:51
Tonal Ты опять криво выразился. Прочитай что-нибудь про ... 1.9.2008, 13:31
AD Практически сделал, осталось добиться последнего.
... 1.9.2008, 15:57
Litkevich Yuriy Цитата(AD @ 1.9.2008, 19:57) , а все сота... 1.9.2008, 16:34
AD Извините, забыл сразу выложить код, как я реализов... 10.9.2008, 15:30![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 8.1.2026, 12:16 |