ruby 使用正则表达式检查用户输入开头是否正好有两个大括号

8zzbczxx  于 2022-11-04  发布在  Ruby
关注(0)|答案(2)|浏览(178)

我试图确保用户输入的括号完全是{{user_input}}。文本可以是任何内容,只要是数字或字符。{{(.*?)}}的作用是确保输入的开头和结尾都有两个括号,但我也希望确保只有两个括号。我试过[^{]{{(.*?)}}[^}]{{2}(.*?)}{2},但是它仍然将{{{user_input}}计数为有效。

vtwuwzda

vtwuwzda1#

用途

/^{{([^{}]*?)}}$/

表示排除使用者输入中间的大括号。

ldfqzlk8

ldfqzlk82#

(?<![{])a =〉“a”前不能有“{”字符
a(?![}]) =〉“a”后面不能有“}”字符
a([^{}]*)a =〉除“a“之间的“{”和“}”之外的所有字符
解决方法:

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

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

相关问题