我试图将这个正则表达式从崇高文本转换为我可以在vim中使用的表达式:
(?<![>\w\d])(42|45|21)\s(?!days)
我想匹配42,45和21,它们不会立即由<,一个单词字符或一个数字继续,并且后面没有单词days.
在示例中,我想在此找到42:
This is a reference to chapter 42 in the book.
但不是这个:
This is a reference to chapter <a href="#">42</a>.
或这个:
This is a reference to chapter <a href="#">42 section 35</a>.
或这个:
This book took 42 days to write.
我对正则表达式相当新,对于vim来说是新手,所以如果这是一个格式错误的正则表达式,请原谅我.
得到它了
\([>]\)\@<!\<\(4[25]\|21\)\( days\)\@!
Run Code Online (Sandbox Code Playgroud)
要么
\v([>])@<!<(4[25]|21)( days)@!
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,语法环视是vim是不同的,你有一个以上的模式,正则表达式我通常使用搜索nomagic和very magic
花点时间看看魔法模式的帮助: :help /magic
编辑
现在它也包括45和21
| 归档时间: |
|
| 查看次数: |
2062 次 |
| 最近记录: |