2017-09-22 16 views
-6

Pythonの正規表現でこの問題を解決するには?文字列の部分を削除するための正規表現

私から言葉regulartextをフィルタリングする:

"A expression is a special string for describing a search pattern." 

正規表現構文でこの問題を解決するために私を助けてください。私はこのような結果を望ん

"A regular expression is a special text string for describing a search pattern." 

答えて

0
import re 

txt = "A regular expression is a special text string for describing a search pattern." 
pattern = "(.*) regular(.*) text(.*)" 

result = re.sub(pattern, r"\1\2\3", txt) 

print(result) # for testing only 

説明:

あなたが見ることができるように、あなたの正規表現が括弧内

(.*) regular(.*) text(.*) 

式がそのようにキャプチャグループと呼ばれています。 *はゼロ(空の文字列)を含むそれらの任意の数を意味し、.手段任意の文字 -

.* 

彼らはすべてのものと一致することを意味します:すべての3は同じ形式を持っています。あなたのオリジナルのテキストがだから我々として維持re.sub()関数の中で、この表記で

\1 regular\2 text\3 

と同じになるよう

は、今、私たちは、それぞれ、\1\2\3としてキャプチャテキストを使用することができます唯一

\1\2\3 

効果的に部品" regular"" text"を取り除くた文字列を代入します。

+0

あなたの注意とあなたの答えに感謝します。神のお恵みがありますように。 :-) –

+0

hhmm申し訳ありませんが、なぜあなたのsyntaksはこのテキストで動作しないのですか? "saya sedang akan di warung pak budi。saya membeli bakwan seharga Rp。200" 私はこのテキストから "saya"という単語を削除します もう一度私を助けてもいいですか?ありがとうございます –

+0

'pattern ="(。*)saya(。*)saya(。*) "'(実際にテキストが空白で始まっている場合、そうでない場合は、パターンも)。 – MarianD

関連する問題