作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Vim 中,有没有办法搜索匹配说 abc
的行?但不包含 xyz
以后上线?所以以下几行将匹配:
The abc is the best
The first three letters are abc
The abc is the best but xyz is cheaper
The first three letters are abc and the last are xyz
/abc\(xyz\)\@!
abcxyz
如果两者之间有任何东西,则不会,例如
abc-xyz
.使用
/abc.*\(xyz\)\@!
xyz
的行后面有很多位置不匹配。
grep abc <infile | grep -v xyz
的事情,但我想在 Vim 中以交互方式执行上述操作。)
最佳答案
您的尝试非常接近;您需要拉.*
允许匹配和断言的后来不匹配之间的任意距离进入负面前瞻 :
/abc\(.*xyz\)\@!
.*
的所有可能匹配项都尝试不匹配。 ,并且只有当所有分支都用完时才是
\@!
声明为已完成。
关于regex - 有没有办法在 vim 正则表达式中进行负前瞻?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21148467/
我有一个看起来像这样的字符串: text = "9) 9 的文本\r\n10) 10 的文本\r\n11) 11 的文本\r\n12) ...\r\n123) 123 的文本" 我正在尝试将其拆分如下
下一代的 3D Tiles 前瞻 原文:Introducing 3D Tiles Next, Streaming Geospatial to the Metaverse 原文发布时间:2021年11月
我有一个使用正则表达式回顾的 string.replace() 函数。 myString.replace(/(?
我是一名优秀的程序员,十分优秀!