行頭に*が存在するか否か?
Subversionでコミットメールを通知するか否かをログのフォーマットにて判別している。
その際、行頭に*があるかによって振り分けるrubyスクリプトを書いたのだが、
改行挟むとマッチしてしまうので、ちょいと工夫。
マッチした最初のアイテムの出現位置が行頭かどうかの判別を入れた。
9/6
ささださんからアドバイスを頂いたので、修正版アップ!!
文字列先頭マッチってあるのを知らなかった・・・・
1 # 2 # 行頭に*が存在するかどうか? 3 # 4 5 $KCODE = "s" 6 7 def isHasAstrisk( checkstr ) 8 # 9 # 旧タイプ 10 # return ( /^\*{1}?[^*]+/ =~ checkstr ) && ( 0 == checkstr.index( Regexp.last_match[0].to_s ) ) 11 # 12 # ささださん案 13 return ( /\A\*./ =~ checkstr ) 14 end 15 16 str = "*hoge\r\nhoge2" 17 p isHasAstrisk( str ) #=> true 18 19 str = "hoge\r\n*hoge2" 20 p isHasAstrisk( str ) #=> false