如何使用正则表达式检查字符串开头的[
和字符串末尾的]
?
我正在尝试检查JSON.parse
是否可以使用该字符串。
/\A[\w\z]/
是我提出来的,但似乎并没有发挥作用。
答案 0 :(得分:4)
不需要正则表达式,请使用start_with
和end_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/