2011-05-27 49 views
4

我正在寫一個正則表達式,將發現之後什麼都 使用正則表達式是什麼這個

  • 1以上任一

    • 1或多個點..........後面有一個空格或不問號??????再後面有一個空格或不進行任何東西

    我怎樣寫這個正則表達式,所以我可以有它做這個還是那個?

  • +0

    另請參閱:[開源正則表達式工具](http:// stackoverflow。com/questions/89718/is-there-anything-like-regexbuddy-in-the-open-source-world) – mario 2011-05-27 17:11:39

    +0

    @mario,cool thanks – sameold 2011-05-27 17:18:25

    回答

    9
    \.+ ?$ 
    \?+ ?$ 
    

    (你只需要逃避與\一個.?字面匹配它,因爲這些字符在正則表達式特殊的含義。)

    前綴或者這些與^,如果你想匹配線只包含您的模式。

    +0

    關閉但是這隻會捕捉尾隨點,後面沒有任何內容,因爲'$'將在最後錨定它。我寧願去'(\。+)(?: | $)'。檢查結果[here](http://lumadis.be/regex/test_regex.php?id=781) – ripat 2011-05-27 18:45:59

    +0

    沒錯,雖然OP沒有說明它應該只包含*。要麼 ? (雖然我確實採取了「空白或沒有」的方式來明確要求在最後)。仍然編輯。 – geoffspear 2011-05-27 18:48:11

    +0

    確實。讓我們等待OP的反應。您的解決方案得到+1,這是目前最接近的解決方案^ _^ – ripat 2011-05-27 19:04:59

    2

    對於點,您可以使用+的東西,它指定一個或多個前面的字符串出現。此外,你不得不逃離.?,因爲它們在正則表達式的特殊含義:

    (\.+)$ 
    (\?+)$ 
    
    +1

    此模式僅適用於一系列點或「?」後面沒有任何內容。 – ripat 2011-05-27 17:22:25

    4

    如果您需要同時在同一個正則表達式:

    (\.+|\?+)

    或分離:

    (\.+)

    (\?+)

    而且這個答案必須是30個字符長提交...

    +1

    OP想要匹配點或'?'後跟一個空格或什麼都不是。 Wooble的解決方案似乎照顧到了這一點。 – ripat 2011-05-27 17:21:28

    1

    你會做類似下面

    (\.+|\?+)\s* 
    
    +1

    你必須避開點。 – Toto 2011-05-27 18:23:08

    +0

    我已經把它放進去了,但奇怪的是頁面沒有顯示出來!我只是試圖再次添加,但它在編輯模式 – 2011-05-28 10:22:43

    +0

    我已經爲你做了(編輯然後點擊'{}'或控制-K) – Toto 2011-05-28 12:14:30

    1

    如果你想組的每個部分...

    (\.+|\?+)(?)(.+)

    1
    • 要匹配的一個或多個字符.後跟一個空格:/\.+ /
    • 匹配一個或多個.字符後面什麼都沒有:/\.+$/
    • 匹配一個或多個?字後面加一個空格:/\?+ /
    • 匹配一個或多個?字符後面什麼都沒有:/\?+$/

    要匹配以下任何一種模式:/\.+ |\.+$|\?+ |\?+$/