2017-03-13 13 views
-1

正規表現式支援

(\d{4})\s(\w+)\stk\.(dup(\d+).(\d+)) 

はしかし、そこにありますおそらく0001にはすぐに手紙などが続きます。 0001aと私はマッチブレークを追加する場合。私は手紙をキャプチャする必要はありません、前に数字だけ。どんな助けにも大いに感謝します

...

お返事ありがとうございます。問題は解決しましたが、他の問題が1つあります。もし私が文字列(newbit 0001 material tk.dup4.100)の前に別のブロックを取り込みたいのであればそれは可能でしょうか、存在しなければ失敗しますか?

+1

あなたは '\ s'を' [\ sa-zA-Z] 'に置き換えることができますが、'(\ w +) 'はその単語の2番目の文字と一致します。ここに本当に必要なものははっきりしていません。 –

+0

「0001a material tk.dup4.100'」という意味ならば、最初のグループの後で '\ s'の前に' [a-zA-Z] * 'を追加することができます。 –

答えて

1

これはあなたのために働く可能性があります

(\d{4})[A-Za-z]?\s(\w+)\stk\.(dup(\d+).(\d+))

[A-Za-z]?の追加に注意してください。 [A-Za-z]?は、アルファベット文字の0または1をキャプチャします。

+0

私のために完全に動作します。みんなありがとう! –

+2

'[A-z]'も '['と '_'のようなアルファベット以外の文字と一致します。 – ryugie

+0

@ryugie good catch。私はそれがアルファベットの文字に一致するように私の答えを編集しました。 – mangotang