Здравствуйте Прошу помощи с составлением регулярного выражения Требуется в строке определить есть ли в ней символы какие либо символы кроме S L M X - . / 0 1 2 3 4 5 6 7 8 9 и слова ONE С набором символов я разобрался [^\.\-/SMLX\d\s], а вот добавить что бы также исключало слово ONE додумать не могу
Есть идея найти все эти символы и слово и заменить на пустую строку "". Потом проверить результат на пустоту. (идея пришла после создания темы)
Sub bb()
Dim re As Object
Set re = CreateObject("vbscript.regexp")
re.Global = True
re.ignorecase = True
re.Pattern = "[\.\-/SMLX\d\s]|ONE"
Debug.Print re.Replace("крO NEоме S L M X - . / 0 1 2 3 4 5 6 7 8 9 и слова ONE ", "")
End Sub
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Есть не плохой метод исключения, простым перебором значений Ну как сказать не плохой, муторно конечно…Недавно столкнулся с некоторыми сложностями, например, перебрать n-е количество кодов, не используя скриптов при этом. В чисти виде регулярными выражениями, облазил пол сети. Например, этот сайт. Хоть тут тематика Excel, регулярнее оно и Африке Регулярное. Перебор выглядит ужасно, я соглашусь, но просто не понимаю в ином случае как это можно сделать регулярным выражением… Вот ещё один не хитрый пример, задача такая, сделать сортировку номеров. Регулярка должна видеть весь весь «Спектор» написания мобильного и домашнего номера.В то же время, зачем я все это описал, остался не решённый вопрос, возможно ли как то помином перебора, ухитрится и исключить используя ТОЛЬКО регулярное выражение некие последовательности или сделать исключение как таковое из выборки. Поскольку, при работе с регулярным выражением можно описать [^…] - исключение некоторых символов, либо в начале что сразу убьёт регулярку. Ведь она будет выводить эти же символы описанные позже в выражении. Например: я хочу изъять 1000 пропусков сотрудников (как в варианте 2). Но не брать с 550 по 720. Пропуск вида «S1-0001b» если же мне убрать [^551] - то будет невозможно использовать числа 5/1. Вот и ломаю голову, бьюсь по форумам, как можно сократить регулярное выражение, используя регулярку и только… https://infotecs.ru/downloads/documentacii//
PPluz Pal, с таким вариантом проще строку по символам перебрать Несмотря на апдейт, это всё ещё один из самых ужасных методов для достижения заданного результата)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄