2017-10-09 70 views
2

我使用正則表達式對數據進行排序分組。線條看起來有點像正則表達式 - 跳過表情和解析其餘

testword test 
    test testword 
    tes.w. tes. 
    tes tes.w. 
    tes.w othertexttobefound 
    sometexttobefound testword somemoretextwhichdoesnotmatter 

test要和發現的othertexttobefoundsometexttobefound

現在我想告訴我的解析器,它應該清楚地忽略testword及其衍生物,而搜索和專注於我的數據條目的其餘部分。 「好詞」和「壞詞」可以在每行中的任何地方。

我試圖[^w]這是罰款字符串的開始,但在我的版本中沒有的其他案件。另外(?:w)沒有做到這一點。我不能使用lookarounds,因爲這樣可以防止整條線被檢測到。

在這裏,我希望能爲幫助在互聯網上進行長時間搜索後!

預先感謝您!

Gerit

從Naxos84大加讚賞的幫助後,我加入了一些德國的現實生活中的例子:

sozialabgabe sozialarbeiter 
soz.abg. sozialarbeiter 
sozarbeiter soz.abg. 
sozialarbeiter otherirrelevantstuff 
otherirrelevantstuff soz abg 
otherirrelevantstuff sozabg 
otherirrelevantstuff sozialabgabe 

如果我搜索與

sozial["^\ab"]|soz["^\ab"]|sometexttobefound|othertexttobefound 

線6,7得到標記以及,但我不想要這些。

我在做什麼錯? 謝謝你的進一步提示。

鏈接: regexr

+0

你說的是一個Perl程序或PCRE Perl的正則表達式引擎? – simbabque

+0

要匹配整個單詞,請使用'\ b'作爲單詞邊界。例如:'/ \ BTEST \ B /'將匹配 「測試」,而不是 「testword」 或 「wordtest」 或 「wordtestword」。單詞邊界可能出現在行的開頭和結尾。 – shawnhcorey

+0

@simbabque,有沒有這樣的事,作爲一個「PCRE Perl的正則表達式引擎」。我認爲你的意思是「PCRE正則表達式引擎」。 – ikegami

回答

0

要找到你想要的所有比賽:

test[^\w]|sometexttobefound|othertexttobefound 

此正則表達式: 「測試」 和 「sometexttobefound」 和「othertexttobefound你可以試試下面的正則表達式的任何occurence意思是:
查找每一個「測試」,也就是不隨後othertexttobefound一個詞或sometexttobefound或

我想這正則表達式與後續的文本(我加了幾個「測試的)

testword test 
test testword 
tes.w. testtes. 
tes tes.w. test 
tes.w othertexttobefound 
sometexttobefound testword somemoretextwhichdoesnotmatter 

regexr(使用全局標誌時)

如果你也想找到的東西,如‘TES’我猜你應該添加它。 (我不是一個正則表達式專家) 像:

test[^\w]|tes[^\w]|sometexttobefound|othertexttobefound 
+0

我不確定這是評論還是嘗試回答。如果這是一個答案,請[編輯]並使其更加清晰。爲了方便起見,您可能還想在已設置模式的地方添加一個固定鏈接到regexr。 – simbabque

+0

@simbabque我試圖讓它更清楚。顯然,我無法與圖片中顯示的內容分享鏈接。 – Naxos84

+0

藍色欄右上方有一個_share_鏈接。這不是嗎? – simbabque