Ruby 正则表达式行尾

标签 ruby regex

我正在尝试查找字符串中的变量,例如

找不到“%0”。 %1 请重试%2

我需要知道每个变量如何结束(空格、句点、行尾),因为我将检查该字符串的翻译版本中是否存在相同的变量。文本来自 CSV,字符串不以换行符结尾。

我能够捕获除字符串末尾的所有内容之外的所有内容:

reg =/[%@!][^\s]+[\s\.\z$]+/

我认为 $\z 应该匹配行尾,但这似乎不起作用。在上述情况下如何捕获%2? (同样,末尾没有换行符)

最佳答案

$ 匹配行尾,但在像这样的括号内使用时则不然。编写 [$] 就是查找普通美元符号字符“$”的方式。

如果您要搜索的字符串与上面列出的字符串完全相同,请尝试

reg = /^"(.*)" can not be found[.] (.*) Please try again (.*)$/
error_string =~ reg

您的三个匹配结果将存储在特殊变量 $1$2$3 中。

关于Ruby 正则表达式行尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2345411/

相关文章:

java - 为什么无法在正则表达式匹配器中返回类型化组?

C# 正则表达式仅在标签外部替换字符串

ruby-on-rails - 如何卸载 Ruby on Rails 并进行全新安装?

ruby - Ruby:您可以发送套接字作为参数吗?

javascript - vim 中语法高亮困惑/失败

regex - Emacs 组织模式链接格式化

c - 你如何用 C 找到正则表达式中的所有匹配项?

Ruby 缺少常量表达式优化?

ruby - 这个函数的单行版本? ( ruby 1.8.6)

objective-c - 在 Objective C 中构建动态类