Подтвердить что ты не робот

Regex соответствует всем после вопросительного знака?

У меня есть фид в Yahoo Pipes и вы хотите совместить все после вопросительного знака.

До сих пор я выяснил, как совместить вопросительный знак, используя..

\?

Теперь просто сопоставим все, что есть после/после знака вопроса.

4b9b3361

Ответ 1

\?(.*)

Вы хотите содержимое первой группы захвата.

Ответ 2

Попробуйте следующее:

\?(.*)

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

Если строка может содержать новые строки, вам может потребоваться использовать модификатор "dot all", чтобы точка соответствовала новому символу строки. Независимо от того, нужно ли вам это делать, и как это сделать, зависит от языка, который вы используете. Похоже, вы забыли упомянуть язык программирования, который вы используете в своем вопросе.

Еще одна альтернатива, которую вы можете использовать, если ваш язык поддерживает утверждения с фиксированной шириной lookbehind:

(?<=\?).*

Ответ 3

\?(.*)$

Если вы хотите совместить все символы после "?" вы можете использовать группу для соответствия любому char, и вам лучше использовать знак "$", чтобы указать конец строки.

Ответ 4

С положительной техникой lookbehind:

(?<=\?).*

(Мы ищем текст, которому предшествует вопросительный знак)

Input: derpderp?mystring blahbeh
Output: mystring blahbeh

Пример

В основном ?<= представляет собой групповую конструкцию, для требуется экранированный вопросительный знак до того, как будет выполнено любое совпадение.

Они работают очень хорошо, но не все реализации поддерживают их.

Ответ 5

Посмотрите на этом сайте: http://rubular.com/ В основном сайт позволяет ввести какой-то примерный текст (что бы вы искали на своем сайте), а затем, когда вы создаете регулярное выражение, он будет выделять то, что соответствует в реальном времени.