2016-05-27 23 views
0

權假設我有一些文字:獲得從字符串幾句左側和關鍵字

Lorem存有悲坐阿梅德,consectetur adipiscing ELIT,SED做 eiusmod tempor incididunt UT labore等dolore magna aliqua。

  1. 如果我查詢「SED做」我想獲得「sed將」 +額外的2個字的左邊和右邊。在這種情況下,我想:

adipiscing ELIT,SED做 eiusmod tempor

  • 如果我查詢 「aliqua」 我想得到:
  • dolore麥格納aliqua

    我認爲最好的辦法是用正則表達式來做到這一點(它不是必須具備的),但我不知道如何構建這樣的查詢。

    +0

    你可以使用'if-else'條件和兩個正則表達式 – rock321987

    回答

    1

    這可以通過周圍的目標詞做與\s?\S*\s?\S*,像這樣:

    \S*\s?\S*\s?consectetur\s?\S*\s?\S* 
    

    demo 1.

    由於空間\s是可選的,\S*可以匹配零個字符,這適用於兩端文字以及(demo 2,demo 3)。

    注意:當單詞被多個空格分隔時,這種方法並不奏效,因爲它依賴於計算空格。

    +0

    關於多個空格爲什麼我們可以用星號來調整它?所以最後它可以看起來像:\ S * \ S * \ S * \ S * \ S * \ bSOMETEXT \ b \ S * \ s * \ S * \ s * \ S * – Saint

    +0

    @Saint我猜星號應該工作,太。 – dasblinkenlight