ruby - 部分正则表达式匹配

标签 ruby regex partial

我有一个正则表达式,用于测试输入的字符流。我想知道是否有一种方法可以将正则表达式与输入进行匹配,并确定它是否是消耗整个输入缓冲区的部分匹配? IE。在正则表达式完成之前到达输入缓冲区的末尾。我希望实现决定是等待更多输入字符,还是中止操作。

换句话说,我需要确定哪个是真的:

  1. 在匹配正则表达式之前到达输入缓冲区的末尾

    例如"foo"=~/^foobar/

  2. 正则表达式完全匹配

    例如"foobar"=~/^foobar/

  3. 正则表达式匹配失败

    例如"fuubar"=~/^foobar

输入未打包。

最佳答案

这是您正在解决的场景吗?您正在等待文字字符串,例如'foobar'。如果用户键入部分匹配项,例如'foo',你想继续等待。如果输入不匹配你想退出。

如果您使用的是文字字符串,我会编写一个循环来按顺序测试字符。或者,

If (input.Length < target.Length && target.StartsWith(input))
   // keep trying

如果您尝试匹配更复杂的正则表达式,我不知道如何使用正则表达式来做到这一点。但我会先阅读更多有关该平台如何实现正则表达式的信息。

汤姆

关于ruby - 部分正则表达式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4759783/

相关文章:

c# - 如果我不实现分部方法会怎样?

php - 使用 include_partial() 部分传递 symfony 1.4 的对象?

ruby-on-rails - 如何在接受 ?page= 参数的 rails 中形成一个相对规范的 url?

ruby - Rails 3 中的斯坦福 corenlp gem 'Could not find JAR file'

ruby-on-rails - 无法从 Controller 检索嵌套关联

浏览器中的 JavaScript 正则表达式替换换行符处理

要匹配的 Java 模式;在 & 中跳过它

ruby-on-rails - 推送到 heroku 的应用程序仍然显示标准索引页面

C#正则表达式查找注解

c# - 找不到合适的方法来覆盖部分类的错误