2016-04-07 4 views

答えて

1

変数の長さと数字で動作するように安全な正規表現:どのように動作

\bv(\d+\.)+\d+\b 

Live Demo on Regex101

\b   # Word Boundary 
v   # v 
(\d+\.)  # Digit(s) followed by . - i.e. 3. or 4. 
+   # Match many digit(s) followed by dot - i.e. 3.4.2. or 5.6. 
\d+   # Final digit of version (not included above because it has no trailing .) 
\b   # Word Boundary 

フォーマットがexactlある場合Y示すように、この短い正規表現を使用します。それはどのように動作donotv3.4.2capturethis

内部でキャプチャしないように

\bv\d\.\d\.\d\b 

Live Demo on Regex101

\bは、単語の境界をマーク:

\b    # Word Boundary 
v    # v 
\d\.\d\.\d  # 3.4.2 
\b    # Word Boundary 
+0

まず、可変長と一致しません。次に、トライアルドットを残し、 'v3.4.2 'の他のものとすべて一致します。 –

+1

@noobフェアポイント。しかし、その末尾のドットは完全に停止する可能性があります。 「私たちは製品の新しいバージョンv3.4.2をリリースしました。それは非常に良いと.....です。そしてそれはどのように可変長と一致しませんか? 'v33.44.22'と' v3.4.2.3.4.2'にマッチしますか? – Druzion

+0

[これは可変長と一致しない方法です。](https://regex101.com/r/kR4bW3/2)P.S:これがあなたの最初の正規表現だったと思います。あなたは18分前にあなたの答えを編集したようです。 –

関連する問題