Hatena::Grouprubyist

Rubyをラクガク(正規表現編) RSSフィード

2009-12-16

[] 最短一致: *?  最短一致: *? - Rubyをラクガク(正規表現編) を含むブックマーク はてなブックマーク -  最短一致: *? - Rubyをラクガク(正規表現編)  最短一致: *? - Rubyをラクガク(正規表現編) のブックマークコメント

*?

量指定子(quantifiers)。直前の表現の 0 回以上の繰り返し (最短一致)

no title
irb(main):015:0> puts "/'(.*)'/ =~ 'hoge''foo''bar': #{/'(.*)'/ =~ "'hoge''foo''bar'"}" /'(.*)'/ =~ 'hoge''foo''bar': 0
=> nil
irb(main):016:0> $1
=> "hoge''foo''bar"
irb(main):017:0> puts "/'(.*?)'/ =~ 'hoge''foo''bar': #{/'(.*?)'/ =~ "'hoge''foo''bar'"}" /'(.*?)'/ =~ 'hoge''foo''bar': 0
=> nil
irb(main):018:0> $1
=> "hoge"

正規表現初心者は、最短一致の方が直感的に理解しやすいと思う。

KaressKaress2016/05/07 16:04yo sh1ldunRo7;t encrypt your back ups before they leave your facilities. S3 can encrypt using AES at the file system level, but it is ultimately to the consumer to determine what level of security is necessary for their backups. The technology is there, it’s up to us to find ways to use it effectively.

JacieJacie2016/05/09 10:37Scrivi il tuo commento Puoi usare questi tags HTML : <a> <abbr> <acronym> <b> <a href="http://bhkfwp.com">&l;okltcbquote></a> <cite> <code> <del> <em> <i> <q> <strike> <strong> var RecaptchaOptions = { theme : 'red', lang : 'en' , tabindex : 5 };   #submit {display:none;}

Johnb487Johnb4872016/05/30 17:02I like this post, enjoyed this one regards for putting up. The goal of revival is conformity to the image of Christ, not imitation of animals. by Richard F. Lovelace. aecbcfdaeadd

Pharmf250Pharmf2502016/05/31 07:16Very nice site! <a href="http://opeyixa2.com/qovao/1.html">cheap goods</a>

Pharmg873Pharmg8732016/05/31 07:17Very nice site! [url=http://opeyixa2.com/qovao/2.html]cheap goods[/url]

Pharmd301Pharmd3012016/05/31 07:18Very nice site! cheap goods http://opeyixa2.com/qovao/4.html

Pharmd602Pharmd6022016/05/31 07:18Very nice site!

Pharme937Pharme9372016/06/01 13:29Very nice site! <a href="http://ypxoiea2.com/qyatxq/1.html">cheap goods</a>

Pharmf964Pharmf9642016/06/01 13:30Very nice site! [url=http://ypxoiea2.com/qyatxq/2.html]cheap goods[/url]

Pharme378Pharme3782016/06/01 13:31Very nice site! cheap goods http://ypxoiea2.com/qyatxq/4.html

Pharmf858Pharmf8582016/06/01 13:31Very nice site!

Pharmk709Pharmk7092016/06/02 19:30Very nice site! <a href="http://apxoiey2.com/aovax/1.html">cheap goods</a>

Pharmd501Pharmd5012016/06/02 19:31Very nice site! [url=http://apxoiey2.com/aovax/2.html]cheap goods[/url]

Pharmg879Pharmg8792016/06/02 19:32Very nice site! cheap goods http://apxoiey2.com/aovax/4.html

Pharmk873Pharmk8732016/06/02 19:33Very nice site!

Pharmg668Pharmg6682016/06/04 01:32Very nice site! [url=http://apeoixy2.com/tqsvv/2.html]cheap goods[/url]

Pharmc634Pharmc6342016/06/04 01:33Very nice site! cheap goods http://apeoixy2.com/tqsvv/4.html

Pharmf696Pharmf6962016/06/04 01:34Very nice site!

Pharmk414Pharmk4142016/06/05 07:40Very nice site! [url=http://aixypeo2.com/ayatxa/2.html]cheap goods[/url]

Pharmf127Pharmf1272016/06/05 07:41Very nice site! cheap goods http://aixypeo2.com/ayatxa/4.html

Pharmd107Pharmd1072016/06/05 07:42Very nice site!

Pharmd759Pharmd7592016/06/06 13:38Very nice site! <a href="http://yieapxo2.com/qoqsv/1.html">cheap goods</a>

Pharma952Pharma9522016/06/06 13:39Very nice site! [url=http://yieapxo2.com/qoqsv/2.html]cheap goods[/url]

Pharmg913Pharmg9132016/06/06 13:40Very nice site! cheap goods http://yieapxo2.com/qoqsv/4.html

Pharmd32Pharmd322016/06/06 13:40Very nice site!

Pharmf637Pharmf6372016/06/07 19:56Very nice site! <a href="http://oieapxy2.com/tyatxt/1.html">cheap goods</a>

Pharmg335Pharmg3352016/06/07 19:57Very nice site! [url=http://oieapxy2.com/tyatxt/2.html]cheap goods[/url]

Pharmd873Pharmd8732016/06/07 20:00Very nice site! cheap goods http://oieapxy2.com/tyatxt/4.html

Pharme323Pharme3232016/06/07 20:01Very nice site!

2009-12-14

[]アトミック、強欲 アトミック、強欲 - Rubyをラクガク(正規表現編) を含むブックマーク はてなブックマーク - アトミック、強欲 - Rubyをラクガク(正規表現編) アトミック、強欲 - Rubyをラクガク(正規表現編) のブックマークコメント

(?> )

バックトラックを抑止する。

この表現はまだ試験実装中です。将来なくなる可能性もありますので、そのつもりで使ってください。特に汎用ライブラリなどで使ってはいけません。

no title

アトミック、強欲等、様々な呼び方があるが、要はバックトラックを抑止されてしまう。

> hoge = "hoge 'foo' 'foo' bar"
> hoge =~ /(?>'.*')\s'foo' bar/ #アトミック。「(?>'.*')が、「'foo' 'foo'」にマッチし、それ以降は「'foo' bar」にマッチできなくなってしまう。
=> nil
> hoge =~ /'.*'\s'foo' bar/ #欲張り。初回は「'foo' 'foo'」にマッチするが、それ以降の「'foo'」に対応できる文字列は見つからないので、バックトラック。
=> 5