@ Отметьте, если это то, что вам нужно (даже если вопрос старый!), Отметьте это как ответ.
Pieter VDE
5
@Dreamonic Не думаю, что это происходит :(
Старкерс
4
@Starkers Вы правы. Этого не произойдет. Марка с тех пор не было Feb 5 '11 at 10:41. По-прежнему хорошо отмечать каждое изменение, которое мы получаем. Может быть, кто-то научится этому у Dreamonic.
DutGRIFF
1
как бы вы записали контент после последнего вопросительного знака? Я хочу «привязать» после этого - я не уверен, что якорь - правильное слово.
BKSpurgeon
2
@BKSpurgeon первая группа захвата в ^. * \? ([^?] *) $ Должна работать
thejh
61
Попробуй это:
\?(.*)
Скобки - это группа захвата, которую вы можете использовать для извлечения интересующей вас части строки.
Если строка может содержать новые строки, вам, возможно, придется использовать модификатор «точка все», чтобы точка соответствовала символу новой строки. Нужно ли вам это делать и как это делать, зависит от языка, который вы используете. Похоже, что вы забыли упомянуть язык программирования, который используете в своем вопросе.
Другой альтернативой, которую вы можете использовать, если ваш язык поддерживает утверждения просмотра назад с фиксированной шириной, является:
О фиксированной ширине? Могу я посмотреть что-нибудь в этом роде? Темы: код, программирование, дизайн Итак, я хочу выбрать двоеточие и заглянуть назад до конца тем и до конца строки? (в данном случае конец строки - «дизайн».
Марк
@Mark: Какой язык вы используете?
Марк Байерс,
Я использую Yahoo Pipes, за исключением регулярного выражения. Я получил ответ на этот вопрос и теперь ищу регулярное выражение, которое выбирает 6 символов после двоеточия и столько же (всех) вперед ..
Марк
@Mark: Я проверил ваш список вопросов, но не вижу вашего нового. Вы уверены, что разместили это?
Марк Байерс,
Я задам этот новый вопрос еще раз через несколько минут. Думаю, лучше всего держать мои вопросы отдельно и действительно нужно было задавать оба одновременно. Спасибо
Марк
36
С помощью техники позитивного просмотра назад :
(?<=\?).*
(Здесь мы ищем текст, которому предшествует вопросительный знак)
Если вы хотите сопоставить все символы после "?" вы можете использовать группу для соответствия любому символу, и вам лучше использовать знак «$», чтобы указать конец строки.
В большинстве реализаций регулярных выражений .по умолчанию не соответствует символу новой строки. В результате даже без символа конца строки в выражении он будет соответствовать до конца строки.
Марк Байерс,
2
Посетите этот сайт: http://rubular.com/ В основном сайт позволяет вам ввести пример текста (то, что вы ищете на своем сайте), а затем, когда вы создадите регулярное выражение, оно будет выделять то, что соответствует в реальном времени.
Иногда это плохо использовать, когда вы хотите выбрать, что еще удалить между "", и вы не можете использовать это более двух раз в одной строке. Все, что он делает, - это выбирает то, что не находится между "", и ничего не заменяет.
Даже для меня это немного сбивает с толку, но я не буду пытаться это объяснить. ^.+?(ничего НЕОБЯЗАТЕЛЬНО) до первого, "затем |Or / stop (все еще исследуя, что это на самом деле означает), пока / at ^.не выбрал ничего до второго "использования ( |stop / at). И выберите все, что идет после. +.
\?.*
соответствует всему (включая пустую строку) после?
."\\?"
Ответы:
Вам нужно содержимое первой группы захвата.
источник
Feb 5 '11 at 10:41
. По-прежнему хорошо отмечать каждое изменение, которое мы получаем. Может быть, кто-то научится этому у Dreamonic.Попробуй это:
Скобки - это группа захвата, которую вы можете использовать для извлечения интересующей вас части строки.
Если строка может содержать новые строки, вам, возможно, придется использовать модификатор «точка все», чтобы точка соответствовала символу новой строки. Нужно ли вам это делать и как это делать, зависит от языка, который вы используете. Похоже, что вы забыли упомянуть язык программирования, который используете в своем вопросе.
Другой альтернативой, которую вы можете использовать, если ваш язык поддерживает утверждения просмотра назад с фиксированной шириной, является:
источник
С помощью техники позитивного просмотра назад :
(?<=\?).*
(Здесь мы ищем текст, которому предшествует вопросительный знак)
пример
По сути,
?<=
это групповая конструкция, которая требует экранированного вопросительного знака, прежде чем может быть найдено какое-либо совпадение.Они работают очень хорошо, но не все реализации их поддерживают.
источник
Если вы хотите сопоставить все символы после "?" вы можете использовать группу для соответствия любому символу, и вам лучше использовать знак «$», чтобы указать конец строки.
источник
.
по умолчанию не соответствует символу новой строки. В результате даже без символа конца строки в выражении он будет соответствовать до конца строки.Посетите этот сайт: http://rubular.com/ В основном сайт позволяет вам ввести пример текста (то, что вы ищете на своем сайте), а затем, когда вы создадите регулярное выражение, оно будет выделять то, что соответствует в реальном времени.
источник
/([a-zA-Z]{4}):/
будет соответствоватьTest: Welcome
и схватитьTest
str.replace(/^.+?\"|^.|\".+/, '');
Иногда это плохо использовать, когда вы хотите выбрать, что еще удалить между "", и вы не можете использовать это более двух раз в одной строке. Все, что он делает, - это выбирает то, что не находится между "", и ничего не заменяет.
Даже для меня это немного сбивает с толку, но я не буду пытаться это объяснить.
^.+?
(ничего НЕОБЯЗАТЕЛЬНО) до первого,"
затем|
Or / stop (все еще исследуя, что это на самом деле означает), пока / at^.
не выбрал ничего до второго"
использования (|
stop / at). И выберите все, что идет после. +.источник