2012-03-29 13 views
1

このシンボルに関するドキュメントは見つかりませんでした。 " - ?"括弧内の式の前にあるときを意味しますか?" - ?"を変換する方法Perl RegexからC#regex

更新 - 私が見た例は、WebIDL仕様の整数と浮動正規表現の制約です。ここでは文法の付録への直接リンクです:http://dev.w3.org/2006/webapi/WebIDL/#idl-grammar

+0

完全正規表現を投稿できますか? – BoltClock

+2

私は彼が、例えば、 '(?-i:pattern)' – ysth

+0

@BoltClock、私はコンテキスト/リンクを掲示しました。 – smartcaveman

答えて

3

それは「文字に« - » 0回または1回の一致」を意味する« -? »のためにかなり標準です。

$ perl -E' 
    say "$_: ", /^aaa-?bbb\z/ ? "match" : "no match" 
     for qw(aaabbb aaa-bbb aaa--bbb); 
' 
aaabbb: match 
aaa-bbb: match 
aaa--bbb: no match 

C#で同じように動作しないと、私は非常に驚くでしょう。

+0

C#の '? 'と同様の動作があります。しかし、 '?'はパターンの終わりに現れる量指定子でなければなりません。私が見たPerlの文脈には、 ' - ?'という接頭辞があります。 – smartcaveman

+0

私は正規表現の意味を理解することができました、私は(プレフィックスとしても)見ていました。サポート資料はありますか? – smartcaveman

+3

あなたがリンクしている正規表現は数字にマッチするはずです。数は負であってもなくてもよい。負の数は ' - 'で始まります。ですから、それを処理するために ' - ? 'でパターンを開始するのは理にかなっています。これは "接頭辞"ではなく、正規正規表現です。 –