re.searchを使用して、空白以外の最初の文字セットを抽出します。私は私の問題を再現以下pseudoscriptあります:Pythonでの空白以外の正規表現の正規表現
#!/usr/bin/env python2.7
import re
line = "STARC-1.1.1.5 ConsCase WARNING Warning"
m = re.search('^[^\S]*?',line)
if m:
print m.group(0)
をそれはこれまでのところ、私はそれを理解するように、この正規表現が言っている
空白を印刷する代わりにSTARC-1.1.1.5
ているように見えます行の先頭に 、空白以外の文字のセットを見つけ、私はこれが仕事とかなり確信していた貪欲ことはありません、documentationは私がそう、[]内の空白文字と一致するように/ Sを使用することができますと言います私は問題がどこにあるかわからない
今、私はこれがおそらく奇妙に見えることを知っています、なぜ私はこれを行うために他の機能を使用していないのですか?まあ、猫をスキンする方法は2つ以上ありますし、私はまだPythonで正規表現のハングアップを取得していますので、re.searchを使ってこのフィールドをこのように抽出する方法を知りたいと思います。
こちらは別のものです re.split( "\ s *"、行)[0] – e4c5
@melpomeneは貪欲です。ここでは空文字列に分割されていません – e4c5
@ e4c5これを試して、 'FutureWarning:split()には空でないパターンマッチが必要です。' '\ s +'では警告が出ませんでした。 – melpomene