2017-01-27 12 views
1

Я пытаюсь нагулять выражение для соответствия фирменного наименования в адресах, какREGEX Положительного Lookahead Guidance

Vice President of Compliance 
10004 South 152nd St. #A 
Omaha 

Я попытался использовать следующее выражение для соответствия вице-президента по соблюдению строки, но это Безразлично» похоже, работает. Фактически, я пытаюсь сопоставить строку, которая предшествует началу адреса.

\w.+(?=\d+(?=\s+)) 

Может кто-то пожалуйста, руководство меня на этом

+1

Пробел - это то, что следует за этой строкой, а не цифрами. Посмотрите на https://regex101.com/r/EIXX42/1. –

+0

Еще раз спасибо, Wiktor. Я сделал это, чтобы сопоставить пробел, но теперь он соответствует обеим строкам - https://regex101.com/r/kq6nth/1. Просьба сообщить –

+1

У вас включен глобальный модификатор 'g'. Матч только один раз. Кроме того, '\ s' соответствует любому пробелу. Вам это действительно нужно или вы намерены соответствовать разрыву строк? См. Https://regex101.com/r/kq6nth/2. –

ответ

1

Вашего \w.+(?=\d+(?=\s+)) шаблона соответствует слову символа (в любой точке входа), а затем с любым 1+, кроме символов разрыва строки (так, \w не может соответствовать последним гольцам char в строке), и этот текст должен сопровождаться 1 + цифрами, за которыми должны следовать любые 1 + пробельные символы. Это означает, что вы действительно не соответствуете первой строке, где указано название фирмы.

Если вы планируете, чтобы соответствовать строке, которая начинается со словом полукокса, то есть любой 1+ символы следуют с разрывом строки и некоторые цифры, вы можете использовать

^\w.+(?=\r?\n\d) 

См regex demo.

Поскольку WebHarvy будет «извлекать только те части (ы) основного текста, который совпадает с группой (ами), указанного в строке RegEx», и это кажется регулярное выражение вкус ECMAScript 5, вы можете использовать

(?:\n|^)(\w.+)\r?\n\d 
+0

Большое спасибо, Wiktor для проверки WebHarvy для меня. Это очень полезно для меня лучше понять нюансы ReGEX. Выражение, которое вы предоставили, соответствует второй строке, как показано в демонстрации. Не могли бы вы рассказать мне, как я могу редактировать выражение в соответствии с первой строкой «Больше текста здесь»? –

+1

Первая строка может быть сопоставлена ​​с простым '^. +' Регулярным выражением или '^. *' (Если оно может быть пустым). –

+0

Спасибо, Wiktor. Не могли бы вы предложить мне хороший ресурс, где я смогу научиться регулярному выражению? –

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

  • Нет связанных вопросов^_^