Как сопоставить 2-й экземпляр в регулярном выражении - PullRequest
0 голосов
/ 07 марта 2012

get_by_my_column

Если я хочу соответствовать только части get_by приведенной выше строки, как я могу это сделать?На этом регулярном выражении я продолжаю читать, что мне следует использовать \n, но я не могу понять, как правильно его реализовать ...

Я пробовал варианты следующего...

/((_){2})/
/(_+){2}/

Ответы [ 4 ]

1 голос
/ 07 марта 2012

/(\w+?_\w+?)_\w+/ (используйте не жадные квантификаторы, ваша подстрока должна быть в группе захвата 1)

или просто /\w+?_\w+?/ <--- (edit: не сработает, вам нужно использовать второе подчеркивание в качестве структуры регулярного выражения, чтобы принудить не жадного \ w к нему:]) </p>

1 голос
/ 07 марта 2012

Попробуйте

preg_match('/(^[a-z]+[_][a-z]+)/', $string, $results);

Соответствует строке, которая начинается с группы букв, за которой следует подчеркивание, за которым следует другой набор букв.

Изменить: (строчные буквы)

1 голос
/ 07 марта 2012

Вам нужно использовать регулярное выражение для этого? Вы можете использовать explode() и просто получить первые два элемента полученного массива.

0 голосов
/ 07 марта 2012

попробуй /^get_by.^ для условия, что g должен быть начальным символом.

...