如何在字符串的开头和结尾检查[]

时间:2016-06-17 21:15:56

标签: ruby regex

如何使用正则表达式检查字符串开头的[和字符串末尾的]

我正在尝试检查JSON.parse是否可以使用该字符串。

/\A[\w\z]/是我提出来的,但似乎并没有发挥作用。

3 个答案:

答案 0 :(得分:4)

不需要正则表达式,请使用start_withend_with

s = "[text\nhere]"
puts s.start_with?("[") and s.end_with?("]")
# => true

请参阅Ruby demo

如果您需要正则表达式,可以使用

/\A\[.*\]\z/m

检查是否有任何字符串以[开头,以]结尾。

<强>解释

  • \A - 字符串的开头
  • \[ - 文字[
  • .* - 0+任何字符,甚至包括由于/m修饰符而产生的换行符)
  • \] - 结束]
  • \z - 字符串的最后一部分。

请参阅regex demo

答案 1 :(得分:1)

如果您只想在开始和结束时检查,为什么不

string = "[foo..bar]"
str = string.strip
str[0] == "[" && str[-1] == "]"

答案 2 :(得分:-2)

由于方括号[]用于创建正则表达式列表,因此必须将它们转义:

 /\A\[.*\]\z/