Вопросы с тегом «regex»

85
Как я могу распознать злое регулярное выражение?

Недавно я узнал об атаках типа «отказ в обслуживании» с помощью регулярных выражений и решил искоренить так называемые «злые» шаблоны регулярных выражений везде, где я мог бы найти их в своей кодовой базе - или, по крайней мере, те, которые используются при вводе пользователем. Примеры,...

85
Как сделать в Go регулярное выражение без учета регистра?

Теперь, конечно, я мог бы написать свое регулярное выражение для обработки обоих случаев, например regexp.Compile("[a-zA-Z]"), но мое регулярное выражение построено из строки, заданной пользователем: reg, err := regexp.Compile(strings.Replace(s.Name, " ", "[ \\._-]", -1)) Где s.Nameимя. Что может...

85
WebWorker вычисляет медленные совпадения регулярных выражений значительно медленнее (в 3 раза) - только firefox

Сначала я просто создал себе регулярное выражение, которое будет соответствовать всем уникальным путям внешних библиотек в списке всех файлов заголовков в проекте. Я задал вопрос о создании этого регулярного выражения неделю назад. Я начал вмешиваться, чтобы посмотреть, как он будет себя вести в...

84
Notepad ++ постепенно заменяет

Допустим, я хочу иметь 10 строк данных, но хочу, чтобы значение увеличивалось для каждой строки или фрагмента данных. Как мне увеличить это значение? Например .... Если у меня есть эти строки, есть ли способ регулярного выражения для замены значений id на приращение? <row id="1" /> <row...

84
Разделите предложения на 'и' и удалите окружающие пробелы

У меня есть такой код: var r = /(?:^\s*([^\s]*)\s*)(?:,\s*([^\s]*)\s*){0,}$/ var s = " a , b , c " var m = s.match(r) m => [" a , b , c ", "a", "c"] Похоже, что вся строка была сопоставлена, но куда "b"делась? Я бы предпочел получить: [" a , b , c ", "a", "b", "c"] так что я могу сделать...

84
Регулярное выражение, содержащее то или иное слово

Мне нужно создать выражение, соответствующее целому числу, за которым следует либо «секунды», либо «минуты». Я пробовал это выражение: ([0-9]+)\s+(\bseconds\b)|(\bminutes\b) Он отлично работает в течение секунд, но не минут. Например, «5 секунд» дает 5 секунд; а "5 минут" дает ;; минуты...

83
Как использовать регулярные выражения в сценариях bash?

Я хочу проверить, есть ли у переменной действительный год, используя регулярное выражение. Чтение руководства по bash я понимаю, что могу использовать оператор = ~ Глядя на пример ниже, я ожидал увидеть «не в порядке», но я вижу «нормально». Что я делаю неправильно? i="test" if [ $i=~"200[78]" ]...

83
Python и регулярное выражение с Unicode

Мне нужно удалить некоторые символы Юникода из строки 'بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ' Я точно знаю, что они здесь есть. Я старался: re.sub('([\u064B-\u0652\u06D4\u0670\u0674\u06D5-\u06ED]+)', '', 'بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ') но это не работает. Строка остается прежней. Что я...

83
Синтаксис регулярного выражения для «ничего не найдено»?

У меня есть шаблонизатор Python, который активно использует регулярное выражение. Он использует конкатенацию, например: re.compile( regexp1 + "|" + regexp2 + "*|" + regexp3 + "+" ) Я могу изменить отдельные подстроки (regexp1, regexp2 и т. Д.). Есть ли какое-нибудь маленькое и легкое выражение,...

83
Регулярное выражение Javascript: удалите первую и последнюю косую черту

У меня есть эти строки в javascript: /banking/bonifici/italia /banking/bonifici/italia/ и я хотел бы удалить первую и последнюю косую черту, если она существует. Я пробовал, ^\/(.+)\/?$но не получается. Прочитав пост в stackoverflow, я обнаружил, что php имеет функцию обрезки, и я мог бы...

83
Признающая сила «современных» регулярных выражений

Какой класс языков действительно распознают настоящие современные регулярные выражения? Всякий раз, когда есть группа захвата неограниченной длины с обратной ссылкой (например (.*)_\1), регулярное выражение теперь соответствует нерегулярному языку. Но S ::= '(' S ')' | εодного этого недостаточно,...

83
Заменить модификатор preg_replace () e на preg_replace_callback

Я ужасен с регулярными выражениями. Я пытаюсь заменить это: public static function camelize($word) { return preg_replace('/(^|_)([a-z])/e', 'strtoupper("\\2")', $word); } с preg_replace_callback с анонимной функцией. Я не понимаю, что делает \\ 2. Или, если на то пошло, как именно работает...

83
Сделать заглавными первую букву каждого слова в выделении с помощью vim

Я знаю, что в vim мы можем использовать ~один символ для заглавной буквы (как упоминалось в этом вопросе ), но есть ли способ сделать первую букву каждого слова в выделенном фрагменте заглавной с помощью vim? Например, если я хочу изменить с hello world from stackoverflow к Hello World From...

83
Выбор столбцов на основе совпадения строк - dplyr :: select

У меня есть фрейм данных («данные») с множеством столбцов. Некоторые столбцы содержат определенную строку ("search_string"). Как я могу использовать, dplyr::select()чтобы дать мне подмножество, включающее только столбцы, содержащие строку? Я старался: # columns as boolean vector select(data,...

82
Как сопоставить целую строку с регулярным выражением?

Мне нужно регулярное выражение, которое будет находить только совпадения, в которых вся строка соответствует моему запросу. Например, если я выполняю поиск фильмов с названием «Красный октябрь», я хочу найти совпадение только по этому точному названию (без учета регистра), но не совпадать с такими...

82
Регулярное выражение Java для извлечения текста между тегами

У меня есть файл с некоторыми настраиваемыми тегами, и я хотел бы написать регулярное выражение для извлечения строки между тегами. Например, если мой тег: [customtag]String I want to extract[/customtag] Как мне написать регулярное выражение для извлечения только строки между тегами. Этот код...

81
Регулярные выражения и GWT

Мои вопросы: есть ли хорошее решение для использования регулярных выражений в GWT? Например, меня не устраивает использование String.split (regex). GWT переводит код в JS, а затем использует регулярное выражение как регулярное выражение JS. Но я не могу использовать что-то вроде Java Matcher или...

81
Замените группу захвата Regex заглавными буквами в Javascript

Я хотел бы знать, как заменить группу захвата прописными буквами в JavaScript. Вот упрощенная версия того, что я пробовал до сих пор, но не работает: > a="foobar" 'foobar' > a.replace( /(f)/, "$1".toUpperCase() ) 'foobar' > a.replace( /(f)/, String.prototype.toUpperCase.apply("$1") )...