javascript - 使用 Regex 从段落中提取多个 {tag}
问题描述
我有看起来像这样的电子邮件模板:
Dear {user.firstName},<br><br> Thank you for buying {item} with us. <br><br>
Your Order ID is : <b> {{orderId}} </b>. <br><br>
Thank again for supporting us.
下面是我试图从段落中提取的示例:
1) 段落中 {} 内的东西
user.firstName // from {user.firstName}
item // from {item}
orderId // from {{orderId}}
2) 整个 {} 包括段落中的内容
{user.firstName} // from {user.firstName}
{item} // from {item}
{orderId} // from {{orderId}}
对于 (1),我尝试使用/{(.*)}/g
or/({)(.*)(})/g
但它仍然会选择整个 {{tag}}。
以下是我尝试过的(2):
/({([a-z])\w+})|({([a-z])+})|({([A-Z])\w+})|({([A-Z])+})|({[0-9]+})/g
它可以满足大多数条件,除非 {tag} 中有一个/多个点。
请帮助并提前感谢您。
解决方案
您可以尝试使用以下正则表达式:
({([\w\.]*)})
您的比赛将有两个捕获组:
- 完全匹配,用你的牙套,比如
{user.firstName}
- 不管是什么在花括号里面,比如
user.firstName
您还可以在此处检查该表达式https://regex101.com/r/eXKJzs/1/
推荐阅读
- facebook-graph-api - Facebook Conversion API 的 Google Tag Manger 实现捐赠 Capture
- python - 使用分隔符删除数据
- android - Android 访问被拒绝查找属性“ro.hardware.chipname”
- html - 无法设置高度:0;如果图例可用,则为字段集
- r - 将进度表添加到 Shiny (shinydashboard/shinydashboardplus) 中的标题
- java - rich:dataScroller 不会在新搜索的第 1 页重置
- typo3 - 如果加载了其他扩展,则注入存储库
- php - 在 Eloquent 搜索期间添加自定义列
- javascript - 时刻格式返回“无效日期”
- .htaccess - Rewrite Rule keep showing Internal Server Error