2019年2月1日金曜日

正規表現、最短一致?の使い方


var str="(hoge0) hoge1 hoge2 hoge3.jpg"
この文字列から hoge1 を抽出したい
正規表現使ってreplaceでできるんだがどうもうまくいかない┐('д')┌

var result=str.replace(/\(.*\)\s(.*)\s.*$/, "$1" );
これだと結果はhoge2になってしまう

で、
var result=str.replace(/\(.*\)\s(.*?)\s.*$/, "$1" );
でOK!

これを最短一致というらしい
基本だったみたい!!(゚Д゚)!!
先頭から最短で探すか最長で探すかのオプション
最短は?が必要だからデフォルトは最長って事になりますよね
最短の方が高頻度で使うと思うんだけどねえ?(・_・?)?

jscriptの正規表現を使い出してひっかかったことの備忘録です
GoClipから呼び出してクリップの文字列整形に使ってるが、簡単に文書の整形ができて良いです( ´∀`)

0 件のコメント:

コメントを投稿