有时我们只需要为一个模式找到那些在另一个模式之后或之前的匹配项。
有一种特殊的语法,称为“前瞻断言(lookahead)”和“后瞻断言(lookbehind)”。
首先,让我们从字符串中查找价格,例如
1 turkey costs 30€
。即:一个数字,后跟
€
符号。
前瞻断言
语法为:
x(?=y)
,它表示“仅在后面是
Y
时匹配
X
”。这里的
X
和
Y
可以是任何模式。
那么对于一个后面跟着
€
的整数,正则表达式应该为:
\d+(?=€)
。