正则表达式:匹配包含~<整数或浮点数>的花括号内全部内容
匹配包含
~<整数/浮点数>的花括号块解决方案 直接使用以下正则表达式即可实现需求:
/{[^{}]*~(\d*\.?\d+|\d+\.?\d*)[^{}]*}/g
正则各部分说明
{:精准匹配左花括号[^{}]*:匹配任意数量的非花括号字符,确保不会跨花括号匹配(避免嵌套花括号干扰)~(\d*\.?\d+|\d+\.?\d*):匹配~紧跟整数或浮点数的结构,覆盖所有数字格式:\d*\.?\d+:支持.6、1.6这类格式\d+\.?\d*:支持1、1.这类格式
[^{}]*:再次匹配任意数量的非花括号字符,覆盖目标结构之后的内容}:精准匹配右花括号g:全局匹配标志,一次性找出所有符合条件的花括号块
测试验证
针对示例文本:
"{:.class ~1.6 #id} This is another paragraph {~1 .class #id} with curly braces.{:#id ~6.8}"
使用上述正则会得到3个匹配结果:
{:.class ~1.6 #id}{~1 .class #id}{:#id ~6.8}
完全覆盖所有包含~<数字>结构的花括号块,不管目标结构在花括号内的位置如何,都能正确匹配。
内容的提问来源于stack exchange,提问作者GhostOrder
相关产品推荐
相关产品推荐

