ruby - 如何更改字符串中的特殊符号?

标签 ruby regex

例如我有一个字符串

s = "start |foo bar|, middle, |reg ex| end"

我想改变方括号上的|,得到

"start [foo bar], middle, [reg ex] end"

如何使用正则表达式实现它? 至少,我想捕获 |foo bar||reg ex|,但我的方法:

/\|.+\|/

捕获|foo bar|,中间,|reg ex|

s.match(/\|.+\|/)[0] # => "|foo bar|, middle, |reg ex|"

最佳答案

尝试使正则表达式成为非贪婪的:

/\|.+?\|/

/\|[^|]+\|/

关于ruby - 如何更改字符串中的特殊符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8485056/

相关文章:

单例类中的 Ruby attr_writer 方法

ruby-on-rails - 如何运行一个简单的 each-do 循环来组合来自不同表的列? (返回率)

javascript - $.contents() 元素的串联

javascript - 验证 javascript/jquery 中的 url 格式

javascript url 安全文件名安全字符串

java - 如何支持字符串验证的国际化?

ruby - 为什么 ruby​​2.0 中 object_id 的 true 和 nil 变了?

ruby - 尝试运行 minitest 单元测试时出错

php - 如何将临时文件与 Rails 中的用户 session 链接起来?

javascript - 正则表达式句柄