私は現在、このようなフィールドを持っています。PERLフィールド内の文字列に一致するRegexのヘルプ
item description is blah ablha blabh albhalbh #thisisitemnumber x/skid)
私は#thisisitemnumber
部分を抽出しようとしています。
'/(#.*\S)/'
しかし、私は、「#」の後にも空白がすべてを取得することを使用して:私は現在、これを持っています。 ご協力いただければ幸いです!
感謝:)
私は現在、このようなフィールドを持っています。PERLフィールド内の文字列に一致するRegexのヘルプ
item description is blah ablha blabh albhalbh #thisisitemnumber x/skid)
私は#thisisitemnumber
部分を抽出しようとしています。
'/(#.*\S)/'
しかし、私は、「#」の後にも空白がすべてを取得することを使用して:私は現在、これを持っています。 ご協力いただければ幸いです!
感謝:)
あなたが任意の文字.
を何回非スペース\S
まで*
の任意の数に一致しています。これは本当にあなたが望むものではありません。また、*
は貪欲であるため、最後の文字列にはの空白が含まれています。
あなたは非空白1回以上とします。
/(#\S+)/;
これは* `アップゴブルズので+
私は '' /(#\ S +)/ ''私は何も得ていません。私が '' /(#\ S *)/ 'を実行すると ''#' '記号しか得られません。何かご意見は? – AlliDeacon
@AlliDeacon:http://stackoverflow.com/help/mcve – toolic
@AlliDeaconこれを試してください: 'perl -wE '$ str ="アイテムの説明はblah ablha blabh albhalbh #thisisitemnumber x/skidです。 ($ m)= $ str =〜/(#\ S +)/; $ m''と言ってください。私は '#thisisitemnumber'を表示します。 – zdim
はい、'ので、
#
後何かがなければならないことを前提と** '# 'の後のすべての**を最終的な' \ S'(あなたの場合は '' skid) ''の '') "'にします)。 '/(#\ S +)/'を試してみてください。 – PerlDuck