Вопросы с тегами [regex]

1

голосов
3

ответ
35

Просмотры

Как я могу разделить строку пробелов, которые не являются прецедентом по определенному характеру?

Я хочу, чтобы разбить строку только на белых пространствах, которые не имеют определенный разделитель (: в моем случае) перед ним. Например: $ строка = "Время: 10:40 Запрос: page.php Действие: все, это смотрите: Facebook"; Тогда из чего-то вроде этого, я хочу, чтобы достичь массив таким образом, что: $ Array = [ «Время: 10:40», «Запрос: page.php», «Действие: что бы это», «Смотрите: Facebook»]; Я пробовал следующий до сих пор: $ раздвоение = preg_split ( '/ (:) {0} \ s /', $ посещения); Но это все еще разделив на каждое вхождении белого пространства. Изменить: Я думаю, что я задал неправильный вопрос, однако «все это» должно остаться в качестве одной строки Edit 2: Биты перед двоеточиями известны и остаются теми же,
peterxz
3

голосов
3

ответ
20

Просмотры

Regex для ряда, который должен содержать десятичную точку

Я пытаюсь написать регулярное выражение для проверки десятичного числа. Пожалуйста, помогите :) Номер должен содержать десятичную точку. Там должна быть одна цифра [0-9] справа от десятичной точки. Там может быть не более 5 цифр слева от десятичной точки, но они не могут начинаться с нуля исключением случаев, когда ноль самостоятельно. Они разрешены 0.1 (первая цифра может быть только ноль, если следуют десятичной дроби) 10345.0 (не более 5 цифр слева от десятичного знака, должно быть 1 цифра справа от десятичного знака) Это не имеет 0 (нет знака после запятой) не 10 (без знака после запятой) (без номера справа от десятичной точки). (Номер не по обе стороны от десятичной точки) 0,1 (не число слева от десятичной точки) Это регулярное выражение не проверяет, что происходит до десятичного знака ^ (?: [1-9] [0-9] {0, 4} | 0) $ Это регулярное выражение проверяет, что происходит после десятичного ^ [0-9] {1} + $ Я просто не знаю, как сочетал два таких, что десятичное место является обязательным. Благодарен за любую помощь, пожалуйста? сгибать
FlexMcMurphy
1

голосов
1

ответ
3.6k

Просмотры

Является ли GNU сделать подстановочные в состоянии соответствовать более сложные модели, как регулярное выражение, например?

Скажем, у меня есть следующие подстановочные спичек в Makefile: данные-файлы = $ (. Подстановочные $ (PTDF) / * PNG) \ $ (. Подстановочные $ (PTDF) / * GIF) \ $ (подстановочные $ (PTDF) / * .bmp) \ $ (подстановочные $ (PTDF) / *. JPG) \ $ (подстановочные $ (PTDF) / *. ICO) \ $ (подстановочные $ (PTDF) / *. расстояние) \ $ (подстановочные $ (PTDF ) / *. HTML) Может синтаксис подстановочные дать мне силы, чтобы соответствовать, например, имена файлов, содержащие от 1 до 2 букв, как с регулярным выражением \ ш {1,2} будет делать? При отсутствии расширения имени файла? Если нет, то как я могу сделать это с другим синтаксисом с командой Linux (например, как найти, и т.д.)?
PatlaDJ
1

голосов
2

ответ
8.8k

Просмотры

Regex значение из поля ввода

У меня есть переменный $ HTML, содержащие много HTML коды, и я пытаюсь извлечь значение из определенного параметра (это может быть значение, или класс, и т.д.) из поля ввода на основе его идентификатор. Пример кода, который я пытаюсь найти: Я пытаюсь построить регулярное выражение, которое извлекает значение ([email protected]) из него, рассказав это, чтобы найти значение из всех, где ID = «EMAILADDRESS» - с групповыми символами между входом и идентификатором, а также между идентификатором и значением (единственным наверняка, что вход находится перед идентификатором, который находится перед значением). Вот мой текущий код PHP (используя preg_match_all потому, что он должен стать функцией можно повторно использовать в тех случаях, когда имеется несколько полей): $ шаблон = '
Davor
1

голосов
2

ответ
1.3k

Просмотры

Python регулярное выражение матч квадратный вопрос скобка

Я пытаюсь соответствовать datatime в квадратных скобках, и я думал, что префиксы «\» будет способ кодирования квадратных скобок, но как-то это не сработало. Вот мой код: ( "[? (P \ S +) -700 \] \" г "" "", re.IGNORECASE) импорт повторно line_nginx = re.compile матч = line_nginx.match ( "[07 / Октябрь / 2014 : 19: 43: 08 -0700] "), если матч: печать (" соответствие ") иначе: печать (" не ровня ") я не получил "не матч". Любая идея, что пошло не так?
kee
1

голосов
2

ответ
661

Просмотры

SPARQL на REGEX имени фильтра

SPARQL по имени REGEX фильтра работает, когда я использую прямой поисковый запрос. Он не работает на регулярное выражение с помощью запроса. PREFIX DBpedia: PREFIX dbpedia2: PREFIX DBpedia сова: ПРЕФИКСЫ dcterms: PREFIX FOAF: ПРЕФИКСЫ гео: ПРЕФИКСЫ GRS: PREFIX РДФ: ПРЕФИКСЫ RDFS:?? Выберите отчетливый IRI логотип Описания {значения hasLogo {FOAF: описание DBpedia сова: эскиз ?} значения hasName {FOAF: название RDFS: метка} IRI в DBpedia филин: компания; DBpedia сова: абстрактное описание; фильтр (? регулярное выражение (имя, "Люфтганза", "я")); ? HasLogo? Логотип. фильтр (? langMatches (языки (описание), "ан"))} Приведенный выше код не работает из-за фильтра (регулярное выражение (название, "Lufthansa", "я")?); Если бы я использовал прямой поиск Имя «Lufthansa» @en; она отлично работает.
Selva Balaji
1

голосов
2

ответ
41

Просмотры

Разрыв строки после каждого алфавита в строке

У меня есть строка в (горизонтальной) формы 184.b189.a194.b199.d204.d209.b214.b219.d, который нужно преобразовать в (по вертикали) форма 184.b 189.a 194.b 199.d .. ..... Я попытался Regex найти каждый алфавит с помощью нижеприведенного выражения регулярных выражений, так что я мог бы добавить разрыв строки после каждого алфавита в строке. Выражение прекрасно работает, я не мог понять, как добавить строки подсчета разрыв вар = Regex.Matches (текст, @ «[A-Za-Z]»);
Zain Ali
1

голосов
3

ответ
366

Просмотры

Удалить текст в квадратных скобках в конце строки с регулярным выражением Javascript

Мне нужно регулярное выражение, чтобы удалить последнее выражение в скобках (также с кронштейнами) источник: вход [что-то] [something2] цель: вход [что-то] Я попытался это, но она удаляет все два: «вход [что-то] [something2] ».Надеть (/\[.*?\]/ г, '');
1

голосов
3

ответ
43

Просмотры

Изменение номера версии для одной цифры питона

У меня есть номер версии файла, как это: Тестирование хххх Так что я схватил его, как это: импорт вновь четкости приращения (матч): # преобразовать четыре матча до целых чисел а, Ь, с, d = [Int (х) для х в match.groups ()] # возвращает строку замены возврата п '{а}. {B}. {C}. {D}' = линии открыты ( 'file.txt', 'г'). (readlines ) линии [3] = re.sub (г "\ Ъ (\ d +) \. (\ d +) \. (\ d +) \. (\ d +) \ Ъ", приращение, линии [3]) хочу сделать это так, если последняя цифра является 9 ... затем изменить его на 0, а затем изменить предыдущую цифру до 1. Итак 1.1.1.9 изменения в 1.1.2.0. Я сделал это, выполнив: приращение четкости (матч): # преобразовать четыре матча до целых чисел а, Ь, с, d = [Int (х) при х в match.groups ()] # возвращает строку замены, если (d = = 9): возвращение е Элиф (с == 9) '{а} {B} {с + 1} {0}...': возвращение е '{а}. .. {Ь + 1} {0} {0}»Элиф (б == 9): возвращение F '.. {А + 1} {0} {0} {0}' проблема возникает, когда его 1.1.9.9 или 1.9.9.9. Там, где несколько цифр нужно округлый. Как я могу справиться с этой проблемой?
HeelMega
1

голосов
2

ответ
82

Просмотры

Рекурсивный разбор / конвертировать структурированный текст в словарь

Есть ли хорошая регулярное выражение / функция или пакеты, которые позволяют нам анализировать отступ структурированного текста / данные в словарь? Например, у меня есть данные, что-то вроде этого (может иметь более глубокие уровни, чем я упоминал ниже): xyz1: 14 xyz2: 35 xyz3: 14 xyz4 sub1_xyz4 sub1_sub1_xyz4: 45 sub2_sub1_xyz4: b1fawe sub2 xyz4: 455 xyz5: 2424 И я хочу, чтобы преобразовать его в словарь, как: { 'xyz1': '14', 'xyz2': '34', 'xyz3': '14', 'xyz4': { 'sub1_xyz4': { 'sub1_sub1_xyz4': '45', «sub2_sub1_xyz4 ': 'b1fawe',}, 'sub2_xyz4': '455'}, 'xyz5':' 2424} Я попытался следующие, но не в состоянии получить его постоянно. Я чувствую, что есть очень хорошие рекурсивный (так что он может обрабатывать неизвестные глубины) функции при попытке управлять отступ / суб атрибуты. Какие-либо предложения? Защиту parse_output (значение, отступ = 0): parsed_dict = DICT (), если отступ> 0: для я в re.split ( '\ п (\ {s,% d})?!' % (отступ - 1), значение ): печать ( "раскол значение::", я), если '\ п' не в I: iter_val = иТЭР (список (карта (лямбда-х: x.strip (), re.split ( ':', я) ))) parsed_dict = {** parsed_dict ** ДИКТ (застежка-молния (iter_val, iter_val))} еще: parse_bearer_info (re.split ( '\ п', я, 1) [1]) iter_val = иТЭР (список (карта (лямбда х: x.strip (), re.split ( '\ п', я,
ozn
1

голосов
3

ответ
72

Просмотры

regexpresion может не совпадать специальные символы в Python

У меня есть строка: s = "мы \ XAF \ x06OK \ x03family, хорошо", и я хочу, чтобы заменить \ XAF, \ x06 и \ x03 с '', то есть regexpresion погладить = re.compile (г '\ \ [хЙ] [0-9a-FA-F] + '), но cannnot матч ничего. Код находится в Belows: погладить = re.compile (г '\\ [хХ] [0-9a-FA-F] +') s = "мы \ XAF \ x06OK \ x03family, хорошо" печать (ы) для печати (re.sub (погладить, «», s)) в результате мы ¯OKfamily, хорошо мы ¯OKfamily, хорошо, но как я могу получить, мы КИ семьи, хорошие
littlely
1

голосов
3

ответ
57

Просмотры

Regex выбрать ничего, кроме цифр, содержащих 5

Мне нужно, чтобы исключить все числа, которые содержат 5 из строки с использованием регулярных выражений. Дана строка целых чисел, разделенных запятыми пространств, т.е. «1 2 3 4 5 ... 15 16» мне нужно возвращать эту строку с исключенными числами, которые содержат 5 (5, 15, 54 и т.д.), используя регулярное выражение. Я пытался добиться этого с помощью отрицательного lookahed не повезло. Он успешно фиксирует номера, которые заканчиваются 5 (15, 75), но не те, которые начинаются с ним (56,57). Пожалуйста, помогите мне понять, что я пропавший без вести. $ S = Implode (»», диапазон ($ $, начать конец)); $ См = preg_replace ( '/ (?! \ D * 5 \ d *) (\ d +) \ d * /', '', $ s)
vitto_primatti
1

голосов
2

ответ
24

Просмотры

Номера матчей не префикс конкретного слова по Regex

Я хочу, чтобы извлечь номера, которые не за «А» по ​​Regex. Для textA123text, никто не должен быть согласован, потому что 123 находится позади А. Для textBC123text, 123 должны быть согласованы. Я нашел негативные (как 'назад?
Jarod
1

голосов
2

ответ
83

Просмотры

Как извлечь подстроку с Regex в R [дубликат]

Этот вопрос уже есть ответ здесь: Извлечение строки между двумя другими строками в R 3 ответов у меня есть следующая строка: х
scamander
1

голосов
2

ответ
52

Просмотры

Пользуется Pattern / Сличитель более эффективной, чем перекручивание через строку и ищет героев?

Я работаю над проектом, который будет выглядеть через Java файл для конкретного метода и выводом линий, что метод занимает в файл. Я уже использую Узор и Искатель, чтобы найти метод, но тогда я перебирать символы в строке, чтобы найти соответствующие фигурные скобки. Мой вопрос, будет ли эффективнее использовать другой шаблон / Искатель, чтобы найти фигурные пары фигурных скобок? Вот метод, который находит диапазон линии для метода, если это помогает: String линии; INT currentLineNumber = 0; INT methodStart = 0; INT methodEnd = 0; INT braceCount = 0; Сличитель согласовань; в то время как ((строка = lineReader.readLine ())! = NULL) {// Необходимо установить значение линии здесь, потому что ReadLine () увеличивает номер строки currentLineNumber = lineReader.getLineNumber (); согласовани = p.matcher (линия); // инициализация Matcher с шаблоном, если (Matcher.find ()) {// если линия имеет регулярное выражение хит, сохранить номер строки в качестве CurrentLine methodStart = currentLineNumber; } Если (! CurrentLineNumber> = methodStart && methodStart = 0) {// убедитесь, что мы нашли способ (INT I = 0; я <line.length (); я ++) {// итерацию символов в линия / * Начните с braceCount 0. Когда вы найдете исходную скобку, приращение. * Когда вы найдете конечную фигурную скобку, декремент. Когда braceCount снова достигает 0, * вы будете знать, что вы достигли конца метода. * * Может, возможно, уменьшить сложность / повысить эффективность с помощью набора шаблонов / matchers * найти брекеты. * / Если (line.charAt (я) == '{') braceCount ++; если (line.charAt (я) == '}') {braceCount--; если (braceCount == 0) {methodEnd = currentLineNumber; вернуть новый ИНТ [] {methodStart, methodEnd}; }}}}} Шара (я) == '}') {braceCount--; если (braceCount == 0) {methodEnd = currentLineNumber; вернуть новый ИНТ [] {methodStart, methodEnd}; }}}}} Шара (я) == '}') {braceCount--; если (braceCount == 0) {methodEnd = currentLineNumber; вернуть новый ИНТ [] {methodStart, methodEnd}; }}}}}
Chandler Davis
1

голосов
2

ответ
26

Просмотры

Превратить регулярное выражение, возвращаемый в виде строки из API в действительный объект RegEx в JavaScript

Я выборки регулярного выражения из внешнего API, и он возвращается в виде строки. Я хочу использовать регулярное выражение для проверки адреса, но я не могу показаться, чтобы должным образом избежать нежелательных символов после вызова нового RegExp () на строке. Вот регулярное выражение я хочу использовать: console.log (regexFromAPI); Выход / ((\ W | ^) поле \ S + (# \ s *) \ d + |? Пост \ s + офис | (\ W |.?.? ^) Р \ \ с * о \ \ s + (# \ ? s *) \ d +) / я, однако, я не могу использовать, что - мне нужно, чтобы быть на самом деле регулярным выражением первым. Если я, например: Const шаблон = новый RegExp (regexFromAPI); и затем: console.log (шаблон); Я получаю следующее: выход //((W|^)boxs+(#s*)?d+|posts+office|(W|^)p.?s*o.?s+(#s*)?d+)/ я / мой вопрос ... почему это происходит, и как я могу избежать этого? Я хочу использовать строковые литералы в регулярном выражении. Заранее спасибо.
dougdimmadome
1

голосов
1

ответ
31

Просмотры

Как извлечь конкретную строку после регулярных выражений матча

Учитывая спецификацию ключевых слов продукта, как можно извлечь 3-ю линию только после этого матча. Например, приведены ниже данных, вывод должен быть XB4BW84M5 Лист технических данных Характеристики XB4BW84M5 Я попытался (паспорт продукта) \ г \ п (. *?) (^. * \ Г \ п) {3}, но, то есть найти что-то предваряется 2 строки, то ключевое слово, но он извлекает все три линии, мне нужно только третий
fady taher
1

голосов
4

ответ
57

Просмотры

Regexp или подстрока или другой метод, чтобы найти строку

Я хочу, чтобы достичь максимальной производительности и выберите "строку" только после слова "DL:" У меня есть столбец (VARCHAR2) со значениями: DL: 1011909825 Obj: 020190004387 DL: 8010406429 Obj: 020190004388 DL: 8010406428 DL: 190682 DL : PDL01900940 Obj: 020190004322 DL: 611913067 так выходной быть как: 1011909825 8010406429 8010406428 190682 PDL01900940 611913067 Я не эксперт в регулярных выражениях, но я попытался regexp_replace: rEGEXP_REPLACE (колонка 'Obj: | DL:', '', 1, 0, «я») это почти нормально, но выход все еще не то же самое: 1011909825 020190004387 8010406429 020190004388 8010406428 190682 PDL01900940 020190004322 611913067 Как я могу решить эту проблему и достичь максимальной производительности?
Georg
1

голосов
2

ответ
26

Просмотры

Попытка извлечь подчасть строки условно в новый столбец

Я пытаюсь извлечь только часть строки переговоров определенных критериев. У меня есть столбец, состоящий из либо 1, 2, или 3 значений в виде строки, содержащей одну подобную часть, например, с ( "apa1 ghg2 PA0134", "qrz3 PA2858", "PA5103", "gan3 jgr3 PA4301"). Я хотел бы собрать только значение PAxxxx из строки, или разделить его на 3 колонки, но имеет один быть только значение PAxxxx. Я попытался с помощью различных воплощений GSUB раздельные или подстроки. Но все они полагаются на постоянной длины или числа записей. Любой старт поможет.
Bryant Chambers
1

голосов
2

ответ
3.7k

Просмотры

Regex получить предложения, которые заканчиваются знаком вопроса

Я получил большой файл со всей моей электронной почты деятельности за последние 5 лет. Я хотел бы получить все мои предложения спины, которые имеют знак вопроса. Я не очень хорошо с регулярным выражением, я просто знаю немного о том, что может быть сделано. Может кто-нибудь дать мне регулярное выражение, которое будет работать? (Java) Если это возможно, то я хотел бы вернуться смелая в следующем примере: Lorem Ipsum боль сидеть Амет, consectetur adipiscing Элит. Sed Амет Elementum. Integer включенные в другие группировки диам и требовалось, ес consectetur nibh? Сперма sociis natoque penatibus и др Magnis Дис роженица Монтес.
clankill3r
5

голосов
5

ответ
112

Просмотры

Имеет ли {т, п}? регулярное выражение на самом деле свести к минимуму повторы, или это минимизирует количество совпавших символов?

Согласно документации Python3 Regex: {т, п}? Причины в результате RE, чтобы соответствовать от т до п повторений предыдущего RE, пытаясь соответствовать, как несколько повторений, насколько это возможно. Это нежадная версия предыдущего классификатора. Так, например, на 6-символьной строки 'AAAAAA', а {3,5} будет соответствовать 5 'а' символов, в то время как {3,5}? будет соответствовать только 3-х символов. Тем не менее, это, как представляется, противоречат следующему эксперименту: импорт повторного регулярного выражения = re.compile ( '(ABC | D | ABCDE) {1,2} (е | е)?') Regex.match ( 'ABCDEF'). .. который соответствует 'ABCDE'. Это обязательно включает в себя 2 повторений (ABC | D | ABCDE), а именно, 'ABC' и 'd'. Тем не менее, существует альтернативный кандидат матч, который участвует только 1 повторение (аЬс | d | ABCDE), а именно 'ABCDE. Могу ли я неправильно понимаю документацию, или же {т, п}? фактически свести к минимуму количество совпавших символов (или какой-либо другой цели), а не количество повторений?
James Shapiro
1

голосов
2

ответ
35

Просмотры

Having trouble with less than(

I'm trying to parse a query string and have run into something I can't quite figure out. Trying to match a string that can contain either < or >, but I'm seeing some weird output only when the string contains a Returns as expected: Array ( [0] => Array ( [0] => wt>f ) [1] => Array ( [0] => wt>f ) ) But simply replacing that > with a Outputs: Array ( [0] => Array ( [0] => wt Array ( [0] => wt I've tested this on PHP 5.6.24/IIS 10, and locally on PHP 5.6.32/Apache 2.4.29. Solved thanks to iainn (damn you guys are fast!) My browser was interpreting the < as the start of a tag, looking at the source, everything is fine.
Knut L
1

голосов
0

ответ
99

Просмотры

Как добавить правила регулярных выражений в .ctags файл для сопоставления яваскрипта метода ES6?

Я использую эту линию для согласования методов файла JavaScript: (. * \) --Regex-Javascript = / ^ [\ т] * ([A-Za-z0-9 _ $] +) \ [\ т] * { / \ 1 / M, метод, методы / Но это правило также будет соответствовать, если (), переключатель () и (), я изменил правило --regex-JavaScript = / ^ [\ т] * (?! ( : если | для | переключатель)) ([A-Za-z0-9 _ $] +) \ (* \) [\ т] * {/ \ 1 / M, метод, методы / Но это не работает. , он не может соответствовать любому методу. Как я могу изменить регулярное выражение тогда? Свод правил для согласования "методы" в файле .ctags является:. --Regex-Javascript = / ^ [\ т] * это \ ([A-Za-z0-9 _ $] +) [\ т] * . = * {$ / \ 1 / М, метод, методы / --regex-Javascript = / ^ [\ т] * ([A-Za-z0-9 _ $] +) [\ т] * [: =] [\ т] * [\ (] * функция [\ т] * \ (/ \ 1 / М, метод, методы / --regex-Javascript = / ^ [\ т] * статическая [\ т] + ([А -Za-z0-9 _ $] +) [\ т] * \ (/ \ 1 / M, метод, методы / --regex-Javascript = / ^ [\ т] * ((?: если |?! для | переключатель)) ([A-Za-z0-9 _ $] +) \ (. * \) [\ т] * {/ \ 1 / М, Метод,
LCB
1

голосов
2

ответ
54

Просмотры

Как можно вернуть входной регистр, используя только массив строчных слов в Jquery textcomplete?

Я использую JQuery textcomplete в моем проекте. Можно ли вернуть входной регистр, используя массив слов только в нижнем регистре. Я посмотрел в Google Translate приближенного функционального и там тоже результат ввода не возвращается на входе. Там, поиск выполняется с любым регистром ввода слова, но будет возвращать только в нижнем регистре. Как сделать так, чтобы при вводе слова, как «Stackoveflow», имеющими слова в слове массива [ «»] StackOverflow возвращается результат во входном регистре. . Код $ ( 'форма контроля ') textcomplete ([{слова: [' StackOverflow', 'ҳайрат', 'английский', 'маҳорат'], матч: / (^ | \ S *) ([^ \ u0000 - \ u007f] {2} | \ ш {2}) $ /, поиск: функция (термин, обратного вызова) {this.words = this.words.map (ы => s.toLocaleLowerCase ()); обратного вызова ( $ .map (this.words, Функция (слово) {вернуться word.indexOf (term.toLocaleLowerCase) () === 0? слово: нуль; })); }, Индекс: 2, заменить: функция (слово) {возвращение слово + ' «; }}]); Пример Как возвращать тот же результат при вводе в то время как в массиве слова будут находиться в нижнем регистре. Например: Вход: Stackoverflow, StackOverflow, Ҳайрат, ҲАЙРАТ выход: Stackoverflow, StackOverflow, Ҳайрат, ҲАЙРАТ рабочего код для возврата входного слова в нижнем регистре $ ( 'формы контроля.) Textcomplete ([{слова:. [' StackOverflow' , 'ҳайрат', 'английский', 'маҳорат'], матч: / (^ | \ S *) ([^ \ u0000- \ u007f] {2} | \ ш {2}) $ /, поиск: функция (термин, обратный вызов) {this.words = this.words.map (s => s.toLocaleLowerCase ());. Обратный вызов ($ карта (this.words, функция (слово) {вернуться word.indexOf (термин. toLocaleLowerCase ()) === 0? слово: нуль; })); }, Индекс: 2, заменить: функция (слово) {возвращение слово + ' «; }}]); Этот код будет искать типизированных слова в любом случае, но вернуться в нижнем регистре из массива со словами. Пример, если мы наберем «английский» конечный результат будет «английским». Необходимый результат должен быть во входном случае «English».
John
1

голосов
2

ответ
282

Просмотры

Регулярное выражение с датским номером телефона

Я пытаюсь написать регулярное выражение, так что я могу заменить следующие номера телефонов со ссылкой: первой +45 55 44 33 22 второго +4555443322 третьего +45 55443322 55443322 четвёртого и последней 55 44 33 22 currentley моего регулярное выражение выглядит следующим образом: Regex phoneRegex = новый Regex (@ "[0-9] {8}", RegexOptions.IgnoreCase); Regex phoneRegexInternation = новый Regex (@ "(?: \ + \ [0-9] {10})", RegexOptions.IgnoreCase); Regex phoneRegexwithSpace = новый Regex (@ "[0-9] {2} \ с * [0-9] {2} \ с * [0-9] {2} \ с * [0-9] {2}" , RegexOptions.IgnoreCase); Regex phoneRegexInternationWithSpaceAfterAreaCode = новый Regex (@ "(\ + [0-9] {2}) \ S * [0-9] {8}?", RegexOptions.IgnoreCase); Regex phoneRegexwithSpaceInternational = новый Regex (@ "(\ +? [0-9] {2}) \ с * [0-9] {2} \ с * [0-9] {2} \ с * [0-9 ] {2} \ S * [0-9] {2}», RegexOptions.IgnoreCase); но мой результат я это первый + Acceptere opgaven по крайней себе Telefonnummer. 22 второй + Acceptere opgaven по крайней такового telefonnummer.22 третьего +45 Acceptere opgaven по крайнему себе Telefonnummer. четвёртую Acceptere opgaven по крайней себе Telefonnummer. и последний Acceptere opgaven по крайней себе Telefonnummer. «Acceptere opgaven по крайней сути Telefonnummer» является датская выражение принимает назначение, чтобы увидеть PHONENUMBER и это ссылка, но, как вы можете себе это не скрывает знак плюс и несколько из correctley чисел. кто-нибудь, что может помочь? датская выражение принимает назначение, чтобы увидеть PHONENUMBER и это ссылка, но, как вы можете себе это не скрывает знак плюс и несколько из correctley чисел. кто-нибудь, что может помочь? датская выражение принимает назначение, чтобы увидеть PHONENUMBER и это ссылка, но, как вы можете себе это не скрывает знак плюс и несколько из correctley чисел. кто-нибудь, что может помочь?
Dakar2008
1

голосов
0

ответ
121

Просмотры

порт исключить шаблон из inotifywait в fswatch

Поэтому у меня есть это регулярное выражение исключает шаблон, который отлично работает с inotifywait на Linux:. * \ \ Ш + \ \ ш {6} Теперь я хочу портировать его на fswatch на MacOS и использовать с -e или -eE флага... Что есть я пытался до сих пор без везения: -e ". * \ \ Ш + \ \ ш {6}." -Ее»* \.. [[: Альфа:]] + \ [[:. Альфа:] ] {6} «-e». * \ .. + \ .. {6}»# не точно, но я действительно отчаянным :) Я также попробовал эти модели с различными комбинациями одинарных и двойных кавычек и с -e или -аЯ комбинация.
valignatev
1

голосов
2

ответ
85

Просмотры

тянуть цифры и буквы вместе питона Regex

Я ищу, чтобы удалить любой текст из строки в Python, который соответствует что-то вдоль линий «\ nPage 10 из 12 \ п», где 10 и 12 всегда разные номера (Перебор 300+ документов, которые все имеют различную длину страницы). Пример какой-то текст, который находится в моей строке ниже (и то, что я хотел бы выход быть): thisisaboutthen \ п \ п \ nPage 2 из 12 \ п \ nnowwearegoing \ п \ nPage 3 из 12 \ п \ п \ п \ Output -> thisisaboutthennnowwearegoing Я пытаюсь код: страница = г '\ nPage \ Ь \ d + \ Ь \ Ь \ г + \ б \ п +' возврата re.sub (страницы, '', строка) Но я не могу заставить его работать. Я попытался обратиться к этой ссылке Python: Извлечение чисел из строки для помощи, но я не могу совмещать цифры и буквы вместе. Я новичок в Regex в Python и любая помощь будет большим. Я был в состоянии получить регулярное выражение для работы, когда это только буква или только цифры, но работаю с проблемами при их объединении. заранее спасибо
eluth
1

голосов
2

ответ
59

Просмотры

Split AMEX детали транзакции с использованием регулярных выражений строки

У меня есть массив описания транзакций строки из Express Card American, что я буду использовать preg_split РНР () для синтаксического анализа; [ "Диснеевском МАГАЗИН # 90DANBURY КТ", "ЕЛКА SHOPSDANBURY КТ", "БАНЯ & Body Works 07DANBURY КТ", "CITGO DODGINGTOWN GANEWTOWN CT", "Dunkin # 344944 Q35 3MONROE КТ", "Dunkin # 344944 Q35 3MONROE КТ" , "Dunkin # 344944 Q35 3MONROE КТ", "Dunkin # 344944 Q35 3MONROE КТ", "AT & T RECURR СЧЕТ PAYDALLAS TX", "Шелл Ойл 5754389960NEWTOWN КТ", "ПОЧТОВАЯ REFILL STAMFORD КТ", "Шелл Ойл 5754389960NEWTOWN КТ", " Состояние 2 символа с предшествующим белым пространством. Ожидаемые результаты: ЕЛКА SHOPSDANBURY CT бы PARSE Продавца: ЕЛКА МАГАЗИНЫ Город: DANBURY Штат: CT платежей; ONLINE ОПЛАТА - СПАСИБО ВАМ Останется как есть. И крайние случаи; AOL SERVICE 800-827-6364 VA бы разобрать Продавцу: AOL SERVICE Detail: 800-827-6364 Состояние: VA (Метки, используемые для ясности) Фактические результаты: если вы посмотрите на мои сохраненные результаты https://regexr.com/3j39m вы можете увидеть, что линии, как онлайн-платежей - СПАСИБО и AOL SERVICE 800-827-6364 VA не разобрать, как и ожидалось. Как я могу улучшить выражение: Разбираем первые 20 или меньше символов в поставщика / описание. Обрабатывать описание платежа, который испытывает недостаток в 3 ожидаемых части.
Mark Carpenter Jr
1

голосов
0

ответ
260

Просмотры

Regex с символом новой строки является соответствие строки

У меня есть регулярное выражение выражение в запросе Монго Метеор: Programs.find ({Примечания: {$ регулярное выражение: '^ ((?! REFUNDED)) * $.}}) Выборки () Это следует читать «Return. все документы, в которых поле «Notes» (строка поле) не содержит строку «REFUNDED». Я нахожу, что проблема, когда текст в поле Notes содержит символ новой строки «\ п». Когда он не найдет новый символ строки, он делает заявление верно. Например, если документ 1 в поле Примечания была строка «Строка один. \ NLine два», документ 1 не будет возвращено, даже если «REFUNDED» не в строке. Какой самый лучший способ обойти это?
flimflam57
1

голосов
1

ответ
319

Просмотры

v # недействительное выражение \ nsre_constants.error: плохой диапазон символов, анзибль

Я использую анзибль писать контент в файл, который выглядит как: [локальный] локальный [эс-мастер] [эс-данные] [эс-клиент] Спектакль: - название: отладить имя переменной отладку: тзд = { {ec2_details | type_debug}} - имя: Добавить экземпляры в локальную local_action файла инвентаризации: lineinfile пути = "~ / анзибль-среды / хосты" RegExp = "^ [эс-мастер]" InsertAfter = "^ # [эс-мастер]" строка = «{{item.private_ip}}» состояние = «Present» with_items: «{{ec2_details.instances}}» Я вижу, что результат является словарем и значение присутствует, но я не в состоянии выбрать конкретные ключи и написать это файл. Теперь я не уверен, если я правильно используя REG-ех, но вот что я вижу полное отслеживающий это:
1

голосов
1

ответ
40

Просмотры

Разделение одного столбца в г на 4 отдельных столбцов

Я нуждаюсь в разбиении столбца одного кадра данных (ID) в пять отдельных колонки (А, В, С, D, Е). Колонки должны быть разделены с помощью: A - Первая буква B - все номера до второй буквы С - все буквы до последней буквы D - Последнее число Е - последняя буква Вот пример: Перед ID Conc 1 A01HGF1a 132 2 D02SDV2b 453 После ABCDE Конц 1 а 01 HGF 1 A 132 2 D 02 с 2 453 б попытался использовать отдельно () из tidyr, но не может понять, как использовать регулярное выражение должным образом. Любая помощь высоко ценится! Вот то, что я пытался до сих пор `отдельно (DF, идентификатор, в = с ( "A", "B", "C", "D", "E"), сентябрь =«(^.) (\\ d +) (\\ S +) (\\ d +) (\\ S +) ")`
Jake Bernards
1

голосов
1

ответ
32

Просмотры

Regex Match Запятые Вне Котировки - XML ​​Schema Variant

На первый взгляд, это выглядит как обычный вопрос: Я хочу, чтобы соответствовать на запятых, но исключить запятые, которые между парой «двойные кавычки». Тем не менее, что делает это сложным является то, что мне нужно сделать это с помощью XML-схемы привкусом регулярных выражений (W3C спецификации). Все решения я мог бы найти для этого участие в предпросмотр, который не является признаком в этом аромате регулярных выражений. Ближайший я получил это: (?: «[^»] * ") |. (,) Это позволяет избежать согласования с запятой в кавычках путем вместо сопоставления котировок, а также любой текст внутри него в отдельную группу Одно предложение, которое я побежал в пошел, как это: (* SKIP) (* СБОЙ) | (,) Это будет работать отлично, но опять же, (* СКИП) и (* СБОЙ) не доступны в этом: ( "[^"] * "?) вариант регулярного выражения. Вот пример. Foo, Bar, "TEST, ЦИТАТЫ" ,, Л Этот тест строка должна иметь 4 матча - каждую запятую, за исключением одного в середине между кавычками. Она должна соответствовать только на запятую, а не текст между ними. Я в недоумении, интернет. Это возможно даже при ограниченных инструментах в моем распоряжении? Моя единственная другая альтернатива была бы намного грязнее, и, вероятно, медленнее, если я не могу получить это регулярное выражение для работы.
Michael Kirkpatrick
1

голосов
1

ответ
26

Просмотры

RegEx Запрос возврата п-й матч

В принципе, у меня есть регулярное выражение выражения в запросе доступа, который тянет код продукта из длинной строки текста. Существует до 10 кодов в каждой строке и мне нужно десять полей в моем запросе, чтобы тянуть каждый из десяти кодов. До сих пор я могу только получить его, чтобы вытащить первый или последний код, изменив Global = True | Ложь. Код, я использую ниже: Функция extSKU (_ Комментарии As Variant) Dim SKU_re Как Новый RegExp SKU_re.Pattern = "\ п \ г {4,5} [AZ] {0,1}" SKU_re.Global = False SKU_re.IgnoreCase = True Dim SKU_m Для каждого SKU_m В SKU_re.Execute (Комментарии) extSKU = Replace (Обрезка (UCase (SKU_m.Value)), "Завершена By:", "") Next End Function Любая помощь очень ценится!
Jack Diamond
1

голосов
0

ответ
51

Просмотры

Найти фиксированную строку в Notepad ++

У меня есть текстовый файл, 400 000 строк. Я должен найти фиксированную строку вида «AAA BBB CCC», и если это произойдет, просто взять курсор в начале. Если он не существует, просто отобразить его на боевом поле. Я не хочу, чтобы сделать Ctrl + F: введите строку, а затем добраться туда. Я хочу, чтобы любой ярлык или плагин, чтобы взять меня в начале строки, которая фиксируется во всех случаях. Одно из решений я должен создать свой собственный Notepad ++ плагин. Я ищу любую возможность с существующими плагинами или регулярными выражениями.
somerandomguy
1

голосов
3

ответ
64

Просмотры

Regex в строке [Python]

Таким образом, есть эта строка: ул = и '(ОПИСАНИЕ = (ВКЛЮЧИТЬ = сломана) (АДРЕС = (ПРОТОКОЛ = TCP) (HOST = 172.16.102.46) (PORT = 1521)) (CONNECT_DATA = (UR = А) (SERVICE_NAME = SPA1_HJY))) Из которых я должен извлечь значения хост, порт и SERVICE_NAME. Я использовал следующее регулярное выражение для всех трех, соответственно: re_exp1 = re.search (г ".. HOST = \ W + \ W + \ W + \ W +", str_utf) re_exp2 = re.search (г "(ПОРТ = [1-9 ] [0-9] *)», str_utf) re_exp3 = re.search (г "(SERVICE_NAME = \ ш + _ \ ш +)", str_utf) И это дает мне следующий вывод: HOST = 172.16.102.46 PORT = 1521 SERVICE_NAME = SPA1_HJY конечно, можно удалить «HOST =», «PORT =» и «=» SERVICE_NAME из полученных результатов и быть оставлены только значения; Но есть лучше регулярное выражение, которое я могу использовать здесь, которые будут давать только значение? Надеюсь, что это имеет смысл. :-)
Vishal K Nair
1

голосов
2

ответ
38

Просмотры

регулярное выражение форматого число захвата 84,1 или 95

Это мое регулярное выражение мои данные: 1 2017-12 155749 131033 84,1; 2 2017-12 Б 24869 23627 95; 3 2017-12 С 117618 117185 99,6; (? \ D): мое регулярное выражение (? \ D + - \ d +) (? \ Ш) (? \ D +) (? \ D +) (?. \ D + \ \ d) \ s + \ s + \ s + \ s + \ s + У меня возникли проблемы с частью (? \ d + \. \ d) он не захватывает 95. она захватывает 99,6 и 84,1. Я пытался использовать OR | (\ D + \ \ d |?. \ D +) Как я пишу эту часть, так что я могу захватить 95?
HattrickNZ
1

голосов
1

ответ
30

Просмотры

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

Я использую Notepad ++ Найти и заменить инструмент с регулярным выражением. Фрагмент текста я работаю с выглядит следующим образом: Lorem Ipsum боль сидеть Амет, consectetur adipiscing Элит. Aenean включенные в другие группировки dignissim neque. Меценат condimentum Tellus на mauris изречение, включенные в другие группировки accumsan augue лациния. Phasellus condimentum анте и требовалось, Cursus tortor ultricies ес. Curabitur auctor сем ас dignissim interdum. Me --- Lorem Ipsum боль сидеть Амет, consectetur adipiscing Элит. Ее --- Curabitur suscipit arcu Justo, и др scelerisque пипс Commodo переменного тока. Me --- Nunc luctus, VEL язычок convallis Порта, augue mauris lobortis Квам, ут volutpat Sapien Фелис и требовалось. Ее --- Sed ID pellentesque пзиз. Curabitur vehicula Vitae Эст Vel Tempus. В Quam augue, condimentum и др mauris pellentesque, dignissim TEMPOR либеро. Morbi placerat Дознание велит включенные в другие группировки Varius. Связаться с Нами Vitae Quam экскретов, ultrices tortor сидеть Амет, porttitor mauris. Etiam hendrerit Vitae ант Vitae Дознание. Класс aptent taciti sociosqu объявление litora torquent за conubia ностра, в inceptos himenaeos. То, что я хочу быть в состоянии сделать это захватить текст, начиная с «Me --- Lorem Ipsum ...» и до «... pellentesque Risus.» Так что я могу поставить LaTeX форматирование на нем, что приведет к: Lorem Ipsum боль сидеть Амет, consectetur adipiscing Элит. Aenean включенные в другие группировки dignissim neque. Меценат condimentum Tellus на mauris изречение, включенные в другие группировки accumsan augue лациния. Phasellus condimentum анте и требовалось, Cursus tortor ultricies ес. Curabitur auctor сем ас dignissim interdum. \ Начать {fancyquote} Me --- Lorem Ipsum боль сидеть Амет, consectetur adipiscing Элит. Ее --- Curabitur suscipit arcu Justo, и др scelerisque пипс Commodo переменного тока. Me --- Nunc luctus, язычок Vel convallis Порта, augue mauris lobortis Квам, ут volutpat Sapien Фелис и требовалось. Ее --- Sed ID pellentesque пзиз. \ Конец {} fancyquote Curabitur vehicula Vitae Эст Vel Tempus. В Quam augue, condimentum и др mauris pellentesque, dignissim TEMPOR либеро. Morbi placerat Дознание велит включенные в другие группировки Varius. Связаться с Нами Vitae Quam экскретов, ultrices tortor сидеть Амет, porttitor mauris. Etiam hendrerit Vitae ант Vitae Дознание. Класс aptent taciti sociosqu объявление litora torquent за conubia ностра, в inceptos himenaeos. Дело в том, текстовые блоки могут либо начать с «Me ---» или «Ее ---», и они могут закончиться либо слишком. До сих пор у меня есть (\ NME --- | --- Her), который начинается группировкой правильно с любым вариантом, но у меня возникают проблемы, пытаясь прекратить выделение регулярных выражений. То, что я хочу сказать, что-то подобное, сопрягать ничего (включая символ новой строки), за исключением, когда вы видите символ новой строки, а затем НЕ ( «Ее ---» ИЛИ «Me ---»). Заранее спасибо.
user2806648
1

голосов
0

ответ
109

Просмотры

Caret (^) character in Python reg.ex. only matches beginning of each line, not beginning of entire string?

Итак, я написал крошечный сценарий Python, который читает текстовый файл, который представляет собой словарь датских слов, а затем использовать reg.ex. чтобы отфильтровать лишние слова и символы (например, класс слов в конце каждой строки +, если два слова homonymes, отфильтровывать «1.» и «2.» перед каждой отдельной позицией для этого же слова + она должна включать в себя только первой запись, если есть дубликаты). Словарь выглядит следующим образом: 1. А; сб. 2.; вилка. 1. а; сб. 2. а; præp. А3-формата; сб. A4-формат; сб. А5 формата; сб. А-aktie; сб. аб; præp. abandonnere; Vb. abandonnering; сб. abbed; сб. abbedi; сб. abbedisse; сб. ABC; сб. а; сб. abdicere; Vb. ... и так далее. ; символ отделяет словарную статью (само слово) от своего класса слов в каждой строке. И мой Python скрипт так: импорт повторно р = re.compile (г '^ (?: 1 \) ([\ wæøå -] +).?', Re.MULTILINE | повторно. IGNORECASE) F = открыт ( "ro.txt", "г", кодирование = "UTF-8") ро = f.read () соответствует = p.findall (RO) F = открытый ( "result.txt", " ш «) для ул в спичек: f.write (ул +», «) Это работает отлично, за одну небольшую, но очень раздражает детали, за исключением! Первая строка в текстовом файле никогда не включаются в результаты поиска, независимо от того, что я делаю. Только тогда, когда я вручную вставить дополнительную строку в верхней части моего файла словаря, он работает, как задумано, и верхний вход словаря входят также. Я подозреваю, что каретка символ (^) внутри моего reg.ex. как-то не работает должным образом, Потому что она включает в себя все «начало строки» в порядке, но не самое начало целой строки, содержащий весь словарь. Какие-либо предложения? кодирование = "UTF-8") ро = f.read () соответствует = p.findall (RO) F = открытому ( "result.txt", "ш") для ул в матчах: f.write (ул +», «) Это работает отлично, за один несовершеннолетний, но очень раздражает подробно, за исключением! Первая строка в текстовом файле никогда не включаются в результаты поиска, независимо от того, что я делаю. Только тогда, когда я вручную вставить дополнительную строку в верхней части моего файла словаря, он работает, как задумано, и верхний вход словаря входят также. Я подозреваю, что каретка символ (^) внутри моего reg.ex. как-то не работает должным образом, Потому что она включает в себя все «начало строки» в порядке, но не самое начало целой строки, содержащий весь словарь. Какие-либо предложения? кодирование = "UTF-8") ро = f.read () соответствует = p.findall (RO) F = открытому ( "result.txt", "ш") для ул в матчах: f.write (ул +», «) Это работает отлично, за один несовершеннолетний, но очень раздражает подробно, за исключением! Первая строка в текстовом файле никогда не включаются в результаты поиска, независимо от того, что я делаю. Только тогда, когда я вручную вставить дополнительную строку в верхней части моего файла словаря, он работает, как задумано, и верхний вход словаря входят также. Я подозреваю, что каретка символ (^) внутри моего reg.ex. как-то не работает должным образом, Потому что она включает в себя все «начало строки» в порядке, но не самое начало целой строки, содержащий весь словарь. Какие-либо предложения? ) Для ул в спичек: f.write (ул + «») Это работает отлично, за одну небольшую, но очень раздражает детали, за исключением! Первая строка в текстовом файле никогда не включаются в результаты поиска, независимо от того, что я делаю. Только тогда, когда я вручную вставить дополнительную строку в верхней части моего файла словаря, он работает, как задумано, и верхний вход словаря входят также. Я подозреваю, что каретка символ (^) внутри моего reg.ex. как-то не работает должным образом, Потому что она включает в себя все «начало строки» в порядке, но не самое начало целой строки, содержащий весь словарь. Какие-либо предложения? ) Для ул в спичек: f.write (ул + «») Это работает отлично, за одну небольшую, но очень раздражает детали, за исключением! Первая строка в текстовом файле никогда не включаются в результаты поиска, независимо от того, что я делаю. Только тогда, когда я вручную вставить дополнительную строку в верхней части моего файла словаря, он работает, как задумано, и верхний вход словаря входят также. Я подозреваю, что каретка символ (^) внутри моего reg.ex. как-то не работает должным образом, Потому что она включает в себя все «начало строки» в порядке, но не самое начало целой строки, содержащий весь словарь. Какие-либо предложения? Только тогда, когда я вручную вставить дополнительную строку в верхней части моего файла словаря, он работает, как задумано, и верхний вход словаря входят также. Я подозреваю, что каретка символ (^) внутри моего reg.ex. как-то не работает должным образом, Потому что она включает в себя все «начало строки» в порядке, но не самое начало целой строки, содержащий весь словарь. Какие-либо предложения? Только тогда, когда я вручную вставить дополнительную строку в верхней части моего файла словаря, он работает, как задумано, и верхний вход словаря входят также. Я подозреваю, что каретка символ (^) внутри моего reg.ex. как-то не работает должным образом, Потому что она включает в себя все «начало строки» в порядке, но не самое начало целой строки, содержащий весь словарь. Какие-либо предложения?
burgerkalif
1

голосов
4

ответ
68

Просмотры

Захват строки между символами и заменить

Я пытаюсь разобрать QML файл с Javascript, и сделать JSON из него. Я столкнулся с проблемой, что я не могу решить. Я пытаюсь заменить каждую строку файла, который не является уже между «и поставить его между двух». Так что, если у меня есть несколько строк, как Layout.fillHeight: истинная высота: 200 цвета: «прозрачная» должен стать «Layout.fillHeight»: «правда» «высота»: 200" , „цвета“: „прозрачным“ Вот регулярное выражение Я написано failingly плачевно: /((\S\.\S)|\w+?)(?![^"]*\")/g (\ S \ S) | ш + принимать все строки (учитывая также слова с между ними двумя проблемами:. Если строка содержит любую строку между 2», все слова этой линии не учитывается. С заменой () Я не могу заменить строку, потому что $ 1 или $ 2 не содержащий точную строку, я хочу, чтобы заменить. Я не большой с Regex, так что если вы, ребята могли бы помочь мне было бы оценено.
sgrumo
1

голосов
1

ответ
64

Просмотры

Удалите все ненужные символы из строки английских слов и китайских иероглифов

Есть ли функция preg_replace (или любым другим способом), чтобы удалить все ненужные символы из строки английских слов и китайских иероглифов. Лишние символы включают все специальные символы (в том числе подчеркивания) и номер. Пожалуйста, обратите внимание, что я не хочу пространство, чтобы удалить, ни связанный дефис. Например: Вход: "我 来到 北京 清华大学 эй я матовые - @ * = 123 + 45 6 7 890 .._ мой-ты!" Вывод: "我 来到 北京 清华大学 эй я матовое мой-ты"
Harish Jhaldiyal

Просмотр дополнительных вопросов