2014-09-06 3 views
-2

Моя регулярное выражение должно соответствовать рисунка наRegex матч все НЕ + или - следуют одна или несколько цифр

«Найти все НЕ линия разделённых возврата новой строки, начиная с нуля ровно или один + или- признаков с последующим Цифры «.

Противоположностью этому:

[+ -] [0-9] +

Кроме того, что не совсем работает, потому что она не удаляет + или - найдено в середине строки ,

Обновление для примеров и языка:

  • -111243 (Match ничего)
  • -113C45 (Match C)
  • +434 (Match ничего)
  • D356-295U (Match DU)
  • 93 * & # 94 (Match * & #)
  • +432 +42 (Match пространство +)
  • + 432 + 42 (Match + в середине, но не + в начале)
  • 22dd (Match дд)

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

Это Pcre REG-ExS http://www.pcre.org/

+1

«Найти все НЕ линии отделено пробелом или символом новой строки, начиная с возвращения ровно ноль или один + или- знаков следуют цифры.» действительно непонятно, не могли бы вы привести несколько примеров? – Catalyst

+1

На каком языке? – revo

ответ

4

Update(на основе комментариев)

Это совместимо один PERL включая отрицательного просмотра назад:

\D+(?<!^[+-]) 

Вы можете увидеть совпадения here:

enter image description here

+0

Довольно близко, единственная проблема (и я не указывал этот вариант использования), где нечисловые символы завершают строку. Например. 22dd! –

+0

@MichaelRyanSoileau затем использует '[^ \ d] + (? revo

+0

@AdamSmith Да, спасибо за упоминание. Оба работают одинаково. – revo

Смежные вопросы