我有短信说
question 1, chapter 1
...
solution for question 1, chapter 1
...
question 2, chapter 1
...
我试图找出如何检测,通过 “VS代码搜索和替换” 正则表达式,没有解决方案的问题。我尝试了question (\d+), chapter (\d+)\n(.*\n+)solution for question (?!\1)
的变体。这个想法是,如果问题3没有答案,我会匹配问题3,当它否定“问题4的答案”时。这似乎不起作用。我不知道为什么。
我看了几个other questions,但我不能用这些信息来弄清楚
1条答案
按热度按时间snz8szmq1#
如果在打开的文件中使用搜索框,则可以使用负向前查找,以避免与以
question
或solution
开头的匹配行交叉模式匹配:
^
字符串开头question\s+(\d+),
匹配questions
,然后在组1中捕获1+个空格字符和1+个数字\s+chapter\s+
在1+个空格字符之间匹配chapter
(\d+)
捕获组2中的1位以上数字(?!
负先行,Assert右边的不是(?:\r?\n(?!question |solution ).*)*
\r?\n
匹配换行符solution for question \1
匹配solution for question
,后跟使用反向引用\1
在组1中捕获的值)
关闭前瞻参见regex demo