java提取以美元符号为前缀的大括号内占位符的内容
假设我有一个字符串"lore epsum dimsum ${ITEM_NAME} wonton kimchi"
我创建了一个正则表达式,它可以从字符串中的任何位置提取${ITEM_NAME}
。这个正则表达式是,.{(.*.*)}
我如何定制这个正则表达式来提取${}
之间的字符串,即ITEM_NAME
你可以在下面搜索框中键入要查询的问题!
假设我有一个字符串"lore epsum dimsum ${ITEM_NAME} wonton kimchi"
我创建了一个正则表达式,它可以从字符串中的任何位置提取${ITEM_NAME}
。这个正则表达式是,.{(.*.*)}
我如何定制这个正则表达式来提取${}
之间的字符串,即ITEM_NAME
# 1 楼答案
使用
{(.*.*)}
模式,可以提取最左边的{
和最右边的}
之间的任何子字符串你需要
在Java中:
见regex demo
如果明确要求只匹配
${...}
内的字母数字/下划线字符,则可以用\w+
/\w*
模式替换[^{}]*
(Java字符串文字中的反斜杠加倍)见Java demo:
输出: