2016-04-30 13 views
0

http://regexr.com/を試してみると、正規表現\tはすべてのタブが1つ表示されます。しかし、あなたが\t*を試してみると、最初の行の先頭にしかいません。どうして?なぜ ` t *`が0個以上のタブと一致しないのですか?

+2

'/ g'フラグを使用するとすべて一致します。確かに '\ t +'が必要ですが、 '\ t *'は空の文字列にマッチし、文字列内の各位置で一致します。ヒント:より良いユーザーエクスペリエンスのためにregex101.comを使用してください。 –

+0

@WiktorStribiżew正規表現の途中でゼロ個以上のタブが必要です。しかし、 '\ t *'は動作していません... '\ t * * '(0個以上のタブ、ゼロ個以上のスペース)を使用すると何が問題になりますか? –

+3

XYの問題?あなたが本当に持っている問題で質問を更新してください。 –

答えて

0

\t*のみを使用している場合は、と一致するか、1つ以上のタブと一致させようとしています。正規表現には何も一致しないので、うまくいきません。 1つ以上のタブが必要な場合は、代わりに\t+を使用してください。 正規表現をすべての行に適用するには、globalの設定を使用します。例があります:http://regexr.com/3db4i

+0

OPは長いパターンの中で '\ t *'を使います。 '\ t +'への変更は本当に必要なものではないかもしれません。 –

+0

@WiktorStribiżewこれは質問では指定されていません。私はあなたのコメントを遅くまで気付きました。なぜそれを答えとして投稿していないのですか? – Harms

+0

@Harmsあなたは '\ t *'に対して、 "regexpのものは何にもマッチしません"と言っていますが、最初の行の先頭にあるタブと一致します。 –

関連する問題