2016-09-03 5 views
0

GitLabには、現在のコードカバレッジを表すバッジを付けるオプションがあります。これは、いくつかのCIスクリプトの出力を見て、これを行い、出力上で正規表現を実行します。それと正規表現を使用してこのテーブルの最初の行番号を取得するにはどうすればよいですか?

は、このような出力を与え、言われている:

-------------------|----------|----------|----------|----------|----------------| 
File    | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines | 
-------------------|----------|----------|----------|----------|----------------| 
All files   |  100 |  50 |  100 |  100 |    | 
actions/flight |  100 |  100 |  100 |  100 |    | 
    filter.js  |  100 |  100 |  100 |  100 |    | 
components/Button |  100 |  50 |  100 |  100 |    | 
    Button.jsx  |  100 |  50 |  100 |  100 |    | 
components/Toggle |  100 |  100 |  100 |  100 |    | 
    Toggle.jsx  |  100 |  100 |  100 |  100 |    | 
-------------------|----------|----------|----------|----------|----------------| 

I(この場合100であるべきである)All files:% Stmtsの値を取得できるようにしたいです。

現在、私はこの正規表現で働いているが、トリックを行うように見えるしません:

/^All files\s*\|\s*(\d*)/ 
+3

^'行の先頭にマッチします'ように、あなたが最初のではなく、複数行モードで正規表現を入れました文字列の? '^'を削除してみてください。 [あなたの正規表現はマルチラインモードで動作します](https://regex101.com/r/zZ6uT1/1)。 – 4castle

+0

"それはトリックをやっていないようです"とはどういう意味ですか?それはあなたにどんな結果をもたらしますか?それはあなたが望むものとどのように違うのですか?あなたはどのようにその正規表現の結果を使用しますか?あなたの問題がどこにあるのでしょうか? – jwpfox

答えて

1

私は冗談で報告してコードカバレッジのために私たちのGitLabインスタンスを設定すると同じ問題がありました。それはグローバルモードで動作するようですので、@ 4castleのように、マルチラインソリューションは実際には動作しません。

我々は、それはまた、浮動小数点数に一致する次のことをされて使用して終了正規表現:

/All files\s*\|\s*([\d.]+)/ 
関連する問題