2012-02-04 18 views
3

単語を検索して文字列を分割する方法は分かっています。例:単語で分割するPythonの正規表現

どのように私は同じことをすることができますが、単語の始まりを知っている?たとえば、文字列を "consect *"で分割し、 "consectetur"の一致で分割したいとします。ありがとう

+1

「単語」が何であるかによって異なります。 'consect [^ \ s] *' –

+0

以下の答えを明確にするため、 'string.split'は与えられた文字列の出現ごとに文字列を分割します。 're.split'は与えられた正規表現の各マッチで文字列を分割します。 – katrielalex

答えて

3

任意の単語文字に一致するように\wを使用するか、ASCIIアルファベット文字のみを使用する場合は[A-Za-z]を使用してください。

r = re.compile('(consect\w*)') 
1

単に正規表現として(consect\w*)を使用します。

In [3]: import re 

In [4]: s = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua' 

In [5]: r = re.compile(r'(consect\w*)') 

In [6]: r.split(s) 
Out[6]: 
['Lorem ipsum dolor sit amet, ', 
'consectetur', 
' adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua'] 

\w*は、英数字の任意のシーケンスにマッチします。要件が異なる場合は\wを別の文字クラスに置き換えることができます。

Python正規表現の詳細については、Regular Expression Syntaxを参照してください。

1

使用\w:英数字プラス "_" [A-ZA-Z0-9_]

r = re.compile('(consect\w*)') 

又は\S使用:非空白文字[^ \ T \ R \ n \ V \ F]

r = re.compile('(consect\S*)') 
関連する問題