我有一个简单的正则表达式任务,但似乎无法弄清楚确切的语法。
我想采用多行字符串(Markdown文档)并将第一行(标题)分组为一组,然后将第二组中的所有后续行分组。
Visio 2013
我尝试的所有东西似乎要么选择第一组中的所有内容(# Title // ] Group 1: Title
// \
Some text. // |
// | Group 2: Content
# A heading // |
More text. // /
),要么将第2组拆分成一堆不同大小的组。
我正在Expressions进行测试,最终在JavaScript脚本和Workflow's匹配文字操作中实施。
我还在学习正则表达式,但是当我弄清楚其他更复杂的任务时,这个人正在暗示我。
谢谢!
答案 0 :(得分:2)
这将选择并捕获第1组中的第1行和第2组中的其余行:
^(.*)\n([\s\S]*)
<强>解释强>
^
- 断言字符串的开头(.*)
- 匹配除换行符之外的任何字符的0次出现并将其存储在第1组中\n
- 匹配换行符([\s\S]*)
- 匹配包括换行符在内的所有剩余字符并将其存储在第2组答案 1 :(得分:1)
使用不情愿的量词作为标题:
(?s)(.*?)\n(.*)
甚至更简单,在标题后移动DOTALL标志(?s)
:
(.*)\n(?s)(.*)