正規表現は疑問符の後のすべてに一致しますか?


125

Yahoo Pipesにフィードがあり、疑問符の後にすべてを一致させたい。

これまでのところ、疑問符を使用して一致させる方法を理解しました。

\?

疑問符の後/後にあるすべてのものに一致するようになりました。


2
\?.*の後のすべて(空の文字列を含む)に一致します?
khachik 2010

どのプログラミング言語を使用していますか?
Mark Byers

1
Javaを使用してそれらのために、それはだ"\\?"
CodyBugstein

回答:


251
\?(.*)

最初のキャプチャグループのコンテンツが必要です。


15
これが必要なものである場合は@Mark(この質問は古いですが!)、これを回答としてマークしてください。
Pieter VDE 2013年

5
@Dreamonicそれが起こっているとは思わない:(
Starkers

4
@Starkersそうですね。それは起こりません。マークは以来、活動していませんFeb 5 '11 at 10:41。私たちが得るすべての変化を指摘することは、依然として良いことです。多分誰かがこれを指摘してDreamonicから学ぶでしょう。
DutGRIFF 2014

1
最後の疑問符の後のコンテンツをどのようにキャプチャしますか?それから「アンカー」したいのですが、アンカーが正しい単語かどうかわかりません。
BKSpurgeon 2015年

2
@BKSpurgeonの最初のキャプチャグループは^。* \?([^?] *)$で機能するはずです
thejh 2015年

61

これを試して:

\?(.*)

括弧は、関心のある文字列の一部を抽出するために使用できるキャプチャグループです。

文字列に改行を含めることができる場合は、「すべてドット」修飾子を使用して、改行文字とドットを一致させる必要があります。これを行う必要があるかどうか、およびその方法は、使用している言語によって異なります。質問で使用しているプログラミング言語に言及するのを忘れたようです。

言語が固定幅の後読みアサーションをサポートしている場合に使用できる別の方法は次のとおりです。

(?<=\?).*

固定幅ですか?このようなことを後回しにできますか?トピック:コード、プログラミング、デザインでは、コロンを選択して、トピックの主要なTまで、そして行の最後まで進んでいきたいですか?(この場合、行の末尾は「デザイン」である。
マーク

@マーク:何語を使っていますか?
Mark Byers

正規表現以外のYahoo Pipesを使用しています。私はこの質問には答えて、今前方コロンの後ろに、多くのとして6つの文字(すべて)を選択する正規表現のために...探しました
マーク・

@マーク:質問のリストを確認しましたが、新しい質問は表示されません。投稿しましたか?
Mark Byers、2010

しばらくしてから、この新しい質問をします。私の質問は別にしておくのが最善であり、実際には両方同時に質問するべきだったと思います。ありがとう
Mark

36

正の後読みの技術:

(?<=\?).*

(ここでは、疑問符の前のテキストを検索しています)

Input: derpderp?mystring blahbeh
Output: mystring blahbeh

基本的に、これ?<=はグループ構成であり、一致する前にエスケープされた疑問符が必要です。

それらは本当にうまく機能しますが、すべての実装がそれらをサポートしているわけではありません。


13
\?(.*)$

「?」以降のすべての文字を一致させたい場合 グループを使用して任意の文字に一致させることができ、「$」記号を使用して行の終わりを示すことをお勧めします。


1
ほとんどの正規表現実装では.、デフォルトで改行文字と一致しません。その結果、式に行末文字がなくても、行末まで一致します。
Mark Byers、2010

2

このサイトをチェックしてください:http : //rubular.com/基本的に、サイトではいくつかのテキスト例(サイトで探しているもの)を入力でき、正規表現を作成すると、何が一致するかが強調表示されますリアルタイム。


おかげで、コロンを照合する方法を知っていますか?そしてコロンの前にある量のキャラクターは?
マーク

/([a-zA-Z]{4}):/マッチTest: WelcomeしてつかむTest
オースティンリン

0

str.replace(/^.+?\"|^.|\".+/, '');

これは、 ""の間で削除する他のものを選択する場合に使用するのが悪い場合があり、1つの文字列で2回を超えて使用することはできません。それが行うのは、 ""の間にないものをすべて選択し、何も置き換えないことです。

私にとっても少しわかりにくいですが、説明しようとはしません。^.+?(何もオプションではない)最初まで"|または// 停止(それが実際に何を意味するのかを調査中)まで^.、2番目の"|停止/アット)を使用するまで、/アットは何も選択していません。。+で始まるすべてを選択します。


コードの説明と追加を検討してください。コードの内容と理由がわかります。
ピカクジラの魔法使い
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.