- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑以下正则表达式:
https://regex101.com/r/svOSnY/1
我正在尝试匹配内存量并键入 Laptop HP Chromebook 14 G3 NVIDIA Tegra SOC 4GB DDRL 32GB FLASH 14inch 1366X768 Webcam Chrome OS
, 只有当它后面没有一个看起来像内存量的附加东西时。我认为负前瞻正是出于这个原因:(?!\d+\s?(gb|tb))
这是我的负面展望
正如它现在应用的那样:/(?:\d+)\s?(?:gb|tb)\s?(?:ddrl|ddr2)\s?(?!\d+\s?(gb|tb))/i
4gb ddrl
部分仍然与我的字符串匹配,即使它后面跟着 32gb
我的负面展望应该意识到的部分。如果我将负前瞻更改为一个简单的捕获组,我的正则表达式会正确捕获整个 4gb ddrl 32gb
从字符串的一部分。
我究竟做错了什么?
最佳答案
由于您将空格声明为可选,因此正则表达式 egnine 将尝试匹配字符串而不考虑空格;确实4GB DDRL
后面没有直接跟 32GB FLASH
(因此它将被匹配)。
为了修复它,请将可选空间放在您的前瞻中:
(?:\d+)\s?(?:gb|tb)\s?(?:ddrl|ddr2)(?!\s?\d+\s?(gb|tb))
见
demo .
关于regex - 负前瞻被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67570585/
我有一个看起来像这样的字符串: 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(/(?
我是一名优秀的程序员,十分优秀!