我无法理解这些正则表达式是如何工作的以及何时使用它们.我没有在python网站上找到这些正则表达式的具体例子.我知道sed awk但是没有在那里使用这些类型的正则表达式
(?=...)
(?<=...)
(?(id/name)yes-pattern|no-pattern)
Run Code Online (Sandbox Code Playgroud)
(?=...)是一个积极的先行断言.如果?=在当前位置的匹配后括号中有部分,则匹配,但不会消耗匹配的任何字符.例如,正则表达式a(?=b)将匹配a a后跟a b,但不会返回b匹配的一部分.
(?<=...)是相同的,但看起来 落后,即它向后看.同样,它不消耗任何东西.
(?(id/name)yes-pattern|no-pattern)是有条件的.如果命名组 id/name匹配,则此时字符串必须匹配yes-pattern,否则no-pattern.
说实话,这些是非常先进的功能,我不记得曾经使用过条件.外观更常见,但通常受正则表达式引擎的限制,例如,在许多情况下,只能使用固定长度的字符串进行后观.
| 归档时间: |
|
| 查看次数: |
2941 次 |
| 最近记录: |