2010-12-11 90 views
57

我在Yahoo Pipes中有一個Feed,想要在問號後匹配所有內容。正則表達式匹配問號後的所有內容?

到目前爲止,我已經找到了如何使用相匹配的問號..

\? 

現在正好匹配的一切,是/如下的問號。

+2

'\?。*'匹配'?'後面的所有內容(包括空字符串)。 – khachik 2010-12-11 21:22:00

+0

你使用什麼編程語言? – 2010-12-11 21:27:37

+1

對於那些使用Java的人來說,它是''\\?'' – CodyBugstein 2014-06-23 16:52:39

回答

30

試試這個:

\?(.*) 

括號是,你可以用它來提取您感興趣的字符串的一部分捕獲組

如果字符串可以包含新行你可能有。使用「點全部」修飾符允許點匹配新的行字符。無論你是否需要這樣做,以及如何做到這一點,取決於你使用的語言。看起來你忘了提及你在問題中使用的編程語言。

如果你的語言支持固定寬度後向斷言,您可以使用另一種方法是:

(?<=\?).* 
+0

哦固定寬度?我能看看這樣的背後嗎? 主題:代碼,編程,設計 因此,我想選擇冒號,並且儘可能遠離主題的cpaital T和尾部的行尾? (在這種情況下,行的末尾是「設計」。 – Mark 2010-12-11 21:36:49

+0

@Mark:你在用什麼語言? – 2010-12-11 21:38:07

+0

我正在使用雅虎管道,除了正則表達式。我得到了這個問題的答案,現在正在尋找一個正則表達式,選擇冒號後面的6個字符和許多(所有)轉發者。 – Mark 2010-12-11 21:39:23

142
\?(.*) 

希望第一個捕獲組的內容。

+0

謝謝,這就是我所需要的。 – Mark 2010-12-11 21:34:51

+13

@標記如果這是你所需要的(即使這個問題是舊的!),請做這個標記作爲答案。 – 2013-06-05 12:20:08

+4

@Dreamonic不要以爲這是發生的:( – Starkers 2013-09-28 04:54:11

2

看看這個網站:http://rubular.com/基本上,該網站允許你輸入一些示例文本(你會在你的網站上查找什麼),然後當你構建正則表達式時,它會突出顯示正在實時匹配的內容。

+0

感謝你們,你知道如何匹配一個冒號嗎?和一定數量的冒號之前的字符嗎? – Mark 2010-12-11 21:42:41

+0

'/([a-zA- Z] {4}):/'將匹配'Test:Welcome'並抓住'Test' – 2010-12-11 22:30:31

8
\?(.*)$ 

如果你想在「?」之後匹配所有的字符,你可以使用一個組來匹配任何字符,你最好使用「$」符號來表示行結束。

+1

在大多數正則表達式實現中,缺省情況下,'.'與新行字符不匹配,因此即使沒有結束表達式中的行字符將匹配到th的結尾e線。 – 2010-12-11 21:30:43

7

隨着正回顧後技術:

(?<=\?).*

(我們正在尋找通過這裏前有一個問號文本)

Input: derpderp?mystring blahbeh 
Output: mystring blahbeh 

Example

基本上?<=是一個組構造,即需要逃脫的問號,纔可以進行任何匹配。

它們表現得非常好,但不是所有的實現都支持它們。

相關問題