2015-09-11 8 views
0

Я пытаюсь найти три строки рядом друг с другом в регулярных выражениях, я использую Sublime text 2, просто используя командную строку регулярных выражений в нижней части экран. Я возился, но не могу понять. Я ищу через 10000 строк кода, строки помочь мне найти некоторые ошибки Я использую возвышенный 2, я могу получить 2 вещи, используяПоиск 3 вещей, близких друг к другу с использованием регулярных выражений для sublime

\word1.(?:..){1,750}?word2\b 

, когда я пытаюсь это

\word1.(?:..){1,750}?word2\b | \word2.(?:..){1,750}?word3\b 

это дает мНОЙ OR заявление, и я искал AND заявление

до сих пор это то, что я пытался

\word1.(?:..){1,750}?word2\b | \word2.(?:..){1,750}?word3\b 
+0

мы можем увидеть строки, которые вы хотите, возможно, в контексте некоторых других данных, в которых они включены? –

+0

Операция 'OR' выражается символом' | 'в regex, но' AND' выражается символом '. *' И сложнее, поскольку нам приходится учитывать две возможные позиции: '1. * 2' и' 2. * 1 '. С 3 альтернативами это еще хуже. Однако, если все должно присутствовать в строке, вы можете использовать lookaheads: '(? M)^(? =. * 1) (? =. * 2) (? =. * 3). *' Для соответствия этой строке , Если могут быть новые строки, вам необходимо обеспечить многострочный режим, используя '(? S)' начало шаблона. –

+0

Это работает? '\ word1. (?: ..) {1,750}? word2 \ b (?: ..) {1,750}? word3 \ b' – Diego

ответ

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

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