我正在努力确保用户输入的括号中的值正好是{{user_input}}.文本可以是任何东西,只要它是一个数字或字符.{{(.*?)}}的作用是确保输入的开头和结尾有两个括号,但我也想确保只有两个括号.我试了[^{]{{(.*?)}}[^}]{{2}(.*?)}{2},但{{{user_input}}仍然有效.

推荐答案

(?<![{])a=>;"a"前不能有"{"字符

a(?![}])=>;"a"后不能有"}"字符

a([^{}]*)a=除"a"之间的"{"和"}"之外的所有字符(>;

解决方案:

(?<![{]){{([^{}]*?)}}(?![}])

样本:https://regex101.com/r/OiLk8S/1

Ruby相关问答推荐

鲁比.METHOD_MISSING+SEND对于带有命名参数的混合参数失败

ruby 组合哈希相关键

如何在将拆分元素保留为空字符串的同时拆分字符串?

while 语句的主体是块吗?

如何过滤散列数组以仅获取另一个数组中的键?

有没有一种简单的方法可以在 Ruby 中获取图像尺寸?

Ruby 中的内联注释

Ruby 相当于 Groovy 的 Elvis (?:) 运算符?

如何从 Ruby 中的线程返回值?

使用 Ruby 将文件从一个目录复制到另一个目录

如何将两周时间添加到 Time.now?

如何将 each每个方法添加到 Ruby 对象(或者我应该扩展 Array)?

比较ruby中的两个字符串

如何声明 RSpec 中示例之间共享的变量?

卸载所有 gem Ruby 2.0.0

如何通过匹配文本来 Select node

通过 x 个字符在 Ruby 中获取子字符串

如何计算Ruby日期的星期几?

相当于 Ruby 的 cURL?

检索/列出 Redis 数据库中的所有键/值对