作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建这个正则表达式,其中包含积极的展望。基本上,它必须选择行中直到“:”之前的最后一个句点的所有文本,并添加“|”到最后来界定它。下面是一些示例文本。我正在 gskinner 和 editpadpro 中对此进行测试,它们显然具有完整的 grep 正则表达式支持,因此如果我能从中得到答案,我将不胜感激。
下面的正则表达式在一定程度上有效,但我不确定它是否正确。如果文本包含括号,它也会下降。
最后,我想添加另一个忽略规则,例如忽略但包含“Co”的规则。在选择中。第二个忽略规则将忽略但包括前面有一个大写字母的句点。下面还有示例文本。感谢您的所有帮助。
^(?:[^|]+\|){3}(.*?)[^(?:Co)]\.(?=[^:]*?\:)
121| Ryan, T.N. |2001. |I like regex. But does it like me (2) 2: 615-631.
122| O' Toole, H.Y. |2004. |(Note on the regex). Pages 90-91 In: Ryan, A. & Toole, B.L. (Editors) Guide to the regex functionality in php. Timmy, Tommy& Stewie, Quohog. * Produced for Family Guy in Quohog.
最佳答案
我想我不明白你想做什么。但这部分[^(?:Co)]
绝对不正确。
使用方括号您可以创建一个字符类,因为 ^
它是一个否定类。这意味着在这个地方您不想匹配这些字符之一 (?:Co)
,换句话说,它将匹配除“?)(:Co”之外的任何其他字符。
更新:
我认为这是不可能的。我应该如何区分 L. Co. 或类似的内容和句子的结尾?
但是我在你的正则表达式中发现了另一个错误。如果要匹配最后一个部分,最后一部分 (?=[^:]*?\:)
应该是 (?=[^.]*?\:)
:
之前的点与您的表达式将匹配第一个点。
关于php - 正向前瞻正则表达式令人困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7596484/
很抱歉新手的问题,但是: 我最近才发现“=”运算符不只是处理对象/等等。值(value),也是引用。这很酷,但我认为这对变量来说是不一样的,它不会在存储整数或 float 的变量之间创建引用。后来我觉
我是一名优秀的程序员,十分优秀!