正则表达式 (Regular Expressions)
优质
小牛编辑
140浏览
2023-12-01
避免使用
$1-9
因为可能难以辨认出是哪一个,取个名。# 错误 /(regexp)/ =~ string ... process $1 # 正确 /(?<meaningful_var>regexp)/ =~ string ... process meaningful_var
小心使用
^
和$
因为它们匹配的是 行头/行末,而不是某个字符串的结尾. 如果你想匹配整个字符串, 用:\A
和\z
.string = "some injection\nusername" string[/^username$/] # matches string[/\Ausername\z/] # don't match
使用
x
修饰符在复杂的正则表达式上。 这使得它更可读, 并且你可以加有用的注释。只是要注意空格会被忽略。regexp = %r{ start # some text \s # white space char (group) # first group (?:alt1|alt2) # some alternation end }x