2016-05-11 10 views
1

私は現在、このようなフィールドを持っています。PERLフィールド内の文字列に一致するRegexのヘルプ

item description is blah ablha blabh albhalbh #thisisitemnumber x/skid)

私は#thisisitemnumber部分を抽出しようとしています。

'/(#.*\S)/'

しかし、私は、「#」の後にも空白がすべてを取得することを使用して:私は現在、これを持っています。 ご協力いただければ幸いです!

感謝:)

+1

はい、'ので、#何かがなければならないことを前提と** '# 'の後のすべての**を最終的な' \ S'(あなたの場合は '' skid) ''の '') "'にします)。 '/(#\ S +)/'を試してみてください。 – PerlDuck

答えて

3

あなたが任意の文字.を何回非スペース\Sまで*の任意の数に一致しています。これは本当にあなたが望むものではありません。また、*は貪欲であるため、最後の文字列にはの空白が含まれています。

あなたは非空白1回以上とします。

/(#\S+)/; 

これは* `アップゴブルズので+

+0

私は '' /(#\ S +)/ ''私は何も得ていません。私が '' /(#\ S *)/ 'を実行すると ''#' '記号しか得られません。何かご意見は? – AlliDeacon

+1

@AlliDeacon:http://stackoverflow.com/help/mcve – toolic

+1

@AlliDeaconこれを試してください: 'perl -wE '$ str ="アイテムの説明はblah ablha blabh albhalbh #thisisitemnumber x/skidです。 ($ m)= $ str =〜/(#\ S +)/; $ m''と言ってください。私は '#thisisitemnumber'を表示します。 – zdim

関連する問題