lookaround

    1熱度

    1回答

    我知道解析嵌套的字符串或HTML由一個真正的解析器更好地完成,但在我的情況下,我有簡單的模板,並希望提取維基的標題內容參數'標題'從模板。我花了一段時間才達到這個目標,但是要感謝Lars Olav Torvik的正則表達式工具(http://regex.larsolavtorvik.com/)以及這裏的用戶論壇。可能會有人認爲它有用。 (我們都想貢獻,他,我們不??)下面的代碼註釋與註釋伎倆。我不

    2熱度

    1回答

    我有以下的線,也就是分隔幀的GIF文件: preg_match_all('/(?P<frame>\x00\x21\xF9\x04.(?P<delay>..).\x00\x2C.*?)(?=\x00\x21\xF9\x04)/s', $fileContents, $matches, PREG_SET_ORDER); 如果你熟悉的GIF文件格式,你可能會注意到這是一個重大缺陷 - 它不會檢測最後一

    0熱度

    3回答

    我有一個使用lookarounds模式,確保拍攝的字符串是其他兩個字符串 所以換言之,針對目標字符串之間 xxxcabyyy 我正則表達式看起來像 String myregex = ((?<=xxx)cab(?=[y]+)) 所以我想利用這個表達式不止一次,因爲我可能會尋找別的東西像 (test string) xxxcabyyy 我想一個正則表達式就是喜歡 "\(test strin

    2熱度

    3回答

    總之,我試圖匹配某個單詞之後的單詞。 所以我有一個字符串是 Name=James Age=55 City=New York 現在我想以後「年齡=」但不包括「年齡=」選擇一切。 所以總之我只想選擇「55」。每行末尾都有新的行字符。現在我看了看像 (?!(Age)).*\r 哪個不起作用。 在此處開放建議。

    2熱度

    2回答

    我有這個正則表達式/\b\d\b/,簡單地匹配單個數字字。 現在我想添加下劃線字符作爲字邊界的替代,所以我想要匹配"_1_"中的數字,同時將下劃線保持爲零長度匹配(如在\ b中,所以我不想在比賽中使用_)。 我在一個案例中使用捕獲組將不會是理想的。 我嘗試了一些積極的前瞻/背後的技巧,展望未來似乎工作,而後面的看起來沒有。試圖做可選的前瞻/後面,並採取類似_|\b,但我找不到一個理想的解決方案。

    2熱度

    1回答

    我用下面的正則表達式去掉下劃線後的所有零:(?<=_)0+(用Java)或/(?<=_)0+/(用php)。 例如Serial_Number_000000222 - >Serial_Number_222 This does not work in Oracle。任何人都可以提出替代方案 非常感謝

    2熱度

    1回答

    請考慮以下字符串:ABC。我想使用正則表達式捕獲以下組: Group1: AC Group2: B 這兩個組必須使用單個正則表達式捕獲。我無法控制代碼,因此子匹配或捕獲組將無濟於事。 我已經嘗試了兩個非捕獲組,並環顧四周。 對於非捕獲組,該匹配仍是最終結果的一部分。 (?<Group1>a(?:(?<Group2>b))c) 組1:ABC#不正確,因爲B是匹配的一部分。組2:B 回顧一下

    2熱度

    2回答

    我希望使用正則表達式將單詞拆分爲組(vowels, not_vowels, more_vowels),使用標記確保每個單詞以元音開頭和結尾。 import re MARKER = "~" VOWELS = {"a", "e", "i", "o", "u", MARKER} word = "dog" if word[0] not in VOWELS: word = MARKE

    1熱度

    1回答

    我想匹配單個或雙引號標記,之後是不只是匹配的字符的字符中的任意量,隨後的字符中的一個相匹配: "--'__'--" 應該在每一端使用雙引號。不過,我想這場比賽是在那些已經經過測試不應該包括在未來的任何字符佔有慾匹配: "--'__'-- 應該不匹配,因爲在開始的雙引號從不之後另一個在最後。我想出了: (?P<q>['"])(?>((?!(?P=q)).)*)(?P=q) 但是,這仍然在

    0熱度

    1回答

    我想提取一個名稱服務器。 $output的格式是這樣的,例如它包含ns1.nameserver.com。可能還包含www.apple.com。 這當然不是名稱服務器。 我想不包含,因此包含任何結果www. 我嘗試以下: $regexp = "/(?<!www)([A-Za-z0-9-]+[\.][A-Za-z0-9-]+[\.][A-Za-z0-9-\.]+)/i"; preg_match_al