如何删除ruby中的前导和尾随非字母字符

anu*_*uya 4 ruby regex

我想删除字符串中的任何前导和尾随非字母字符.

例如.":----- pt-br:-", 我想要"pt-br"

谢谢

Tim*_*ker 9

result = subject.gsub(/\A[\d_\W]+|[\d_\W]+\Z/, '')
Run Code Online (Sandbox Code Playgroud)

将删除字符串开头和结尾的非字母.

\A并将\Z正则表达式锚定在字符串的开头/结尾(^/ $也会在换行符之后/之前匹配,这可能不是您想要的 - 但在这种情况下可能无关紧要);

[\d_\W]+ 匹配一个或多个数字,下划线或任何不是字母数字字符的其他内容,只留下字母.

| 是交替运营商.