我写了一个PCRE,试图仅在大括号之间匹配美元符号($
)。
我的示例文本如下:
Lorem $100 ipsum dolor {value$banana} sit $500 amet.
模式(?<=\{)(.*?)(?=\})
为我提供了花括号({value$banana}
)之间的所有内容,但我需要精确匹配两者之间的美元符号。我不需要匹配多个匹配项的模式。
我一直在尝试解决这个问题,但是在任何地方都找不到答案。预先感谢!
答案 0 :(得分:3)
如果您只想在花括号内匹配一个TreeSet
,就可以使用一次
$
请参见regex demo
详细信息
'~\{[^{}$]*\K\$(?=[^{}]*})~'
-一个\{
字符{
-除[^{}$]*
,{
和}
以外的0个或更多字符$
-match reset operator丢弃到目前为止从匹配内存缓冲区中所有匹配的文本\K
-一个\$
字符$
-正向超前,要求存在除(?=[^{}]*})
和{
之外的任何0+字符,然后紧接当前位置右侧的}
。