【发布时间】:2020-11-25 10:07:52
【问题描述】:
我有以下文本块:
## 8.6.0
- **Upload date:** November 19, 2020
- **Release date:** TBC
- **Internal version:** 1171
### Feature
- dsfdsfds
- sdfdsf
- dsfdsf
### Bug fixes
- sdfsaf
- sdfsad
- sdfsdfdsf
### Internal
- sadfsdfsda
- fsdfgsadfasd
- sdfsda
## 8.5.1
- **Upload date:** November 09, 2020
- **Release date:** November 12, 2020
- **Internal version:** 1170
我想只提取第一个条目,例如从## 8.6.0 的第一个字符开始到## 8.5.1 的第一个字符之前的所有文本。
我尝试了以下表达式:
[#].*[0-9])(.*?)([#].*[0-9])
但它不会返回正确的结果。这个表达式怎么写?
【问题讨论】:
-
你可以试试
^(##\h*[\d.]+[\s\S]*?)##\h*[\d.]+ -
您并没有真正解释所有条件,而是尝试使用
\A\#\#\s*\d[\s\S]+?(?=\#\#\s*\d|\Z)之类的内容。这是demo。 -
你可以使用这个
(?=#{2}\s*[\d.]+)[^]+(?=#{2}\s*\d\.?)。
标签: regex