正则表达式 - 提取除方括号及其内容之外的所有文本
Regex - Extract all text except square brackets and their contents
我有一个更新日志,其中的版本号位于方括号中,如下所示:
## [0.3.0] - 2016-12-13
- FIX This is an example fix
- FEATURE An example feature
我只想提取 版本号,所以我剩下:
[Unreleased]
[0.3.0]
[0.2.4]
[0.2.3]
理想情况下,我只想提取方括号中不是 'Unreleased' 的第一个值,所以我得到了最新版本号 0.3.0,尽管我不确定这在正则表达式中是否可行。
有人能帮忙吗?谢谢:)
您可以像这样使用正则表达式:
.*(\[.*?\]).*
用替换字符串:</code></p>
<p>顺便说一句,如果你想删除所有其他文本,那么你可以使用:</p>
<pre><code>.*(\[.*?\]).*|*
更新:如果你想在版本列表中转换更新日志,我可以想出这个正则表达式:
.*(\[.*?\])[\s\S]*?(^$|\z)
编辑(一开始看错了):
替换
[\s\S]*?(\[[\d.]+])[\s\S]*
和
我有一个更新日志,其中的版本号位于方括号中,如下所示:
## [0.3.0] - 2016-12-13
- FIX This is an example fix
- FEATURE An example feature
我只想提取 版本号,所以我剩下:
[Unreleased]
[0.3.0]
[0.2.4]
[0.2.3]
理想情况下,我只想提取方括号中不是 'Unreleased' 的第一个值,所以我得到了最新版本号 0.3.0,尽管我不确定这在正则表达式中是否可行。
有人能帮忙吗?谢谢:)
您可以像这样使用正则表达式:
.*(\[.*?\]).*
用替换字符串:</code></p>
<p>顺便说一句,如果你想删除所有其他文本,那么你可以使用:</p>
<pre><code>.*(\[.*?\]).*|*
更新:如果你想在版本列表中转换更新日志,我可以想出这个正则表达式:
.*(\[.*?\])[\s\S]*?(^$|\z)
编辑(一开始看错了):
替换
[\s\S]*?(\[[\d.]+])[\s\S]*
和