我需要一些幫助來編寫用於字符匹配的正則表達式。情況是我有一個包含大約30萬行的文本文件,每行一個字。我需要找到與某些字符匹配的字詞。與通配符匹配的正則表達式,表達式中的每個字符只能使用一次
想想拼字遊戲是一個非常類似的例子,其中一個用戶有一個字符集,例如說P(E S)加上通配符字符,可以匹配任何字符(但只有一次)。
如果文本文件包含以下文字:
- PIE
- PIES
- PEES
- PASS
- 請
...只有粗體字應匹配,因爲每個用戶的字符(包括通配符)只能在匹配中最多使用一次。
有沒有辦法爲此寫一個正則表達式?
我已經開始用...:
\ B [P,E,S] \ b
...但不知道應該怎麼表達:
- 每個字符(P,E,S)只能使用一次
- 任何字符(通配符)也可以使用一次
預先感謝您!請讓我知道是否需要澄清問題。
// Peter
因此可以在任何地方一詞出現通配符,是嗎? –
你正在使用什麼正則表達式引擎/版本? – clarkb86
這個「類」問題可以通過http://stackoverflow.com/questions/7418910/scrabble-word-finder-with-wildcards解決,Lippert解釋瞭如何解決它。正則表達式不是所有問題的最終通配符。 – xanatos