fra*_*edo 5 regex testing match
我想匹配一个有这个的字符串${anything-here}
例如在本例中:
outside${parameter1}outside${parameter2}
Run Code Online (Sandbox Code Playgroud)
正则表达式必须匹配:
${parameter1}作为第一个匹配
${parameter2}作为第二个匹配
我试过这个:
\$\{.*}
Run Code Online (Sandbox Code Playgroud)
但它匹配:
${parameter1}outside${parameter2}
Run Code Online (Sandbox Code Playgroud)
因为我不知道角色之后如何结束比赛}。
我怎样才能做到这一点?
使其非贪婪:
\${.*?}
Run Code Online (Sandbox Code Playgroud)
或者更好地使用否定:
\${[^}]*}
Run Code Online (Sandbox Code Playgroud)
在此演示中,您可以看到它是匹配的${parameter1}并且${parameter2}
PS:正如@Tim 在下面评论的那样,最好逃避,{因为某些正则表达式引擎可能会抛出错误。所以最好使用:
\${[^\}]*}
Run Code Online (Sandbox Code Playgroud)
如果您想捕获大括号内的这些匹配文本,则可以使用捕获组,如下所示:
\${([^\}]*)}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2008 次 |
| 最近记录: |