检查字符串是否与ruby中的正则表达式匹配的最快方法?

乔尔

检查字符串是否与Ruby中的正则表达式匹配的最快方法是什么?

我的问题是,我必须通过大量字符串“ egrep”来查找与运行时提供的regexp匹配的字符串。我只关心字符串是否与正则表达式匹配,不在乎匹配的位置,也不在乎匹配组的内容。我希望这个假设可以减少我的代码用于匹配正则表达式的时间。

我加载正则表达式

pattern = Regexp.new(ptx).freeze

我发现它string =~ pattern的速度比稍快string.match(pattern)

还有其他技巧或捷径可以使测试更快吗?

维克多·史翠比维

从Ruby 2.4.0开始,您可以使用RegExp#match?

pattern.match?(string)

Regexp#match?已在2.4.0发行说明中明确列出为性能增强,因为它避免了其他方法(例如Regexp#match和)执行的对象分配=~

正则表达式匹配
添加了Regexp#match?,它执行regexp匹配而无需创建反向引用对象并进行更改$~以减少对象分配。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查字符串是否在ruby中以正则表达式开头以匹配“ [NATURAL NUMBER]”

检查字符串是否与JS中的正则表达式匹配

检查字符串是否与Bash脚本中的正则表达式匹配

检查字符串是否与python中的正则表达式完全匹配

使用正则表达式检查字符串的开头是否与模式匹配

正则表达式检查字符串是否匹配特定模式

如何检查字符串是否与正则表达式匹配

检查字符串是否可能与正则表达式匹配

检查字符串是否匹配特定的正则表达式

如何检查字符串是否与node.js中的任何正则表达式数组匹配?

检查字符串是否与 Javascript 中的自定义正则表达式匹配

正则表达式检查字符串中是否重复字符

C中的正则表达式,检查字符串是否包含特定字符

Python正则表达式检查字符串是否包含方法调用

检查字符串是否为正则表达式的其他方法

正则表达式:检查字符串是否以随机顺序匹配多个子字符串

检查字符串的正则表达式以

正则表达式检查字符串是否包含指定字符以外的字符

Perl检查字符串是否为有效正则表达式匹配的前缀

输入元素如何检查字符串是否与pattern属性中指定的正则表达式匹配?

检查字符串是否遵循python正则表达式中的特定字符串列表

正则表达式-如何检查字符串是否以给定字符开始或结束?

正则表达式检查字符串是否仅由特殊字符组成

检查javascript数组中的正则表达式字符串是否匹配

Python:检查列表中至少一个正则表达式是否与字符串匹配的优雅方法

用于检查字符串中是否存在一个或多个特殊字符的正则表达式

JavaScript 正则表达式检查字符串中是否包含一定数量的特殊字符

正则表达式:检查字符串中是否存在(除其他外)特定字符

在Ruby中,是否可以在不使用正则表达式的情况下检查字符串是否包含字母?