Этот вопрос похож на многие другие вопросы о регулярных выражениях, которые я нашел на этом и других сайтах в Интернете. Однако решения не работали при попытке их реализовать. Это правильно из-за моего собственного невежества, что это не сработало, но я хотел бы получить помощь в следующем:
ЧТО Я ПЫТАЮСЬ СДЕЛАТЬ:
Я работаю над импортом данных в нашу новую базу данных. Большая часть преобразования была сделана несколько месяцев назад, и теперь мне нужно преобразовать все новые данные.
ОБЩАЯ ИНФОРМАЦИЯ ОБ ОКРУЖАЮЩЕЙ СРЕДЕ:
Чтобы правильно преобразовать одно конкретное поле, мне нужно использовать регулярные выражения. Поле в новой базе данных может содержать любое из следующих 3 значений:
- Kid
- No Mail
- Household
Однако столбец в исходном файле имеет гораздо больше значений, которые я хочу игнорировать.
Программа импорта имеет функцию создания «Словарей», которые можно применять к определенному полю для преобразования импортированного значения в стандартное значение в базе данных. Это отлично подходит для исправления распространенных опечаток и т. д.
Словарь очень простой. У вас есть список правильных значений, и у каждого правильного значения может быть несколько неправильных значений.
Например:
CORRECT VALUE IMPORT VALUES
Kid kid
kids
Child
Minor
В списке значений импорта вы также можете вводить регулярные выражения.
ПРОБЛЕМА, КОТОРУЮ НУЖНО РЕШИТЬ:
Вот пример файла словаря:
CORRECT VALUE LIST IMPORT VALUE
- Kid Kid
KID
- No Mail No Mail
NO MAIL
- Household HH
- OTHER Regex expression to match: Anything else
ПРИМЕРЫ:
Входное значение:
KID
превращается вKid
HH
превращается вHousehold
John
превращается вOTHER
Do Not Call
превращается вOTHER
NO MAIL
превращается вNo Mail
ABCD
превращается вOTHER
ЧТО Я СДЕЛАЛ:
Это то, что я нашел в Интернете и адаптировал для своего случая:
Формула найдена на codinghorror.com:
(?!kid|KID|Kid\b)\b\w+
- Это работает для «KID», но не работает, когда я добавляю что-то еще по какой-то причине
Формула найдена на stackoverflow.com:
^(?!kid$).*
— подходит ко всему, даже к «Малышу».
^((?!kid).)*$
- То же
Это первый раз, когда мне приходится использовать регулярное выражение, и мне просто нужна небольшая помощь, чтобы начать работу с ним.
Поэтому любая помощь или указатель, который вы можете мне дать, ценятся.
Спасибо!
formula found on codinghorror.com
- вот это отличие. ) - person raina77ow   schedule 16.09.2013