Tag: 正则表达式

使用Regexp检查字符串是否以辅音开头

有没有更好的方法在Ruby中编写以下正则表达式? 第一个正则表达式匹配以(小写)辅音开头的字符串,第二个正则表达式用元音。 我试图弄清楚是否有一种方法可以编写与第二个表达式的负数相匹配的正则表达式,而不是使用多个范围编写第一个表达式。 string =~ /\A[b-df-hj-np-tv-z]/ string =~ /\A[aeiou]/

匹配未转义的平衡对分隔符

如何匹配未被反斜杠转义的平衡对分隔符(本身不会被反斜杠转义)(无需考虑嵌套)? 例如,使用反引号,我尝试了这个,但转义的反引号不能像转义那样工作。 regex = /(?!<\\)`(.*?)(?! $1: “how\\” # expected “how\\` are” 上面的正则表达式不考虑反斜杠转义的反斜杠,而是在反引号前,但我想。 StackOverflow如何做到这一点? 这样做的目的并不复杂。 我有文档文本,其中包括内联代码的反引号符号,就像StackOverflow一样,我希望在HTML文件中显示内联代码,并使用一些span材料。 没有嵌套,但是逃逸的反引号或逃逸的反斜杠可能出现在任何地方。

使用正则表达式替换Ruby中引号之外的所有空格

我正在尝试编写一个正则表达式来替换所有未包含在引号中的空格,所以这样的事情: a = 4, b = 2, c = “space here” 会回来的: a=4,b=2,c=”space here” 我花了一些时间搜索这个网站,我发现了一个类似的q / a( 用空格分割一个字符串 – 保留引用的子串 – 在Python中 ),它将用一个可以在之后重新替换的标记替换引号内的所有空格擦拭所有其他空间……但我希望有一种更清洁的方式。

如何编写正则表达式从字符串中提取数值?

我有一个字符串str = “$ 9.0 / hr”或str = “$9.0/hr” 。 在这种情况下,我只想要这个整数值为9.0 语言是Ruby 1.9.2

Ruby与Perl中的Regex语法有什么区别?

根据我的理解,当Matz发明Ruby时,他几乎解除了很多Perl语言结构并重复了它们。 这是否也扩展到正则表达式,或者是否存在我应该注意的任何语法差异?

在崇高文本3中放置.tmLanguage的位置?

我在使用RegExp时遇到Ruby语法高亮问题。 有人建议我用一些额外的代码更新我的Ruby.tmLanguage文件。 问题是,我无法在我的计算机上找到此文件。 在sublime_text_3 / Packages中我只看到.sublime-package文件,我无法使用sublime文本正确打开; 它只显示数字。 我是否必须自己创建此文件,如果是,那么在哪里? 或者这在sublime text 3中的工作方式不同(相对于2,这可能是此解决方案发布时的最新版本)。 参考其他Ruby.tmLanguage代码: https ://gist.github.com/elgalu/3921521

被一个简单的正则表达困扰

我试图看看字符串s包含正则表达式中的任何符号。 下面的正则表达式在rubular上运行正常 。 s = “asd#d” s =~ /[~!@#$%^&*()]+/ 但是在Ruby 1.9.2中,它给出了以下错误消息: syntax error, unexpected ‘]’, expecting tCOLON2 or ‘[‘ or ‘.’ s = “asd#d”; s =~ /[~!@#$%^&*()]/ 怎么了?

Regexp:如何获得每一组MatchData?

我有以下Regexp: regexp=/(\w+) \s* : \s* (\w+) \s+ (.*) \s* ;?/ix 而我正试图获取捕获: names, direction, type = iotext.match(regexp).captures 这适用于单个“x:in integer;” , 但我怎么能在我的文件中获取所有其他匹配数据组: “x : in integer; y : in logic; z : in float;”

Ruby字符串搜索:哪个更快拆分或正则表达式?

这是一个两部分问题。 假设你有一个字符串数组,可以在一个字符处拆分(例如’@’的电子邮件地址或’。’的文件名),这是在拆分字符之前找到字符的最高效方式? my_string.split(char)[0] 要么 my_string[/regex/] 问题的第二部分是你如何编写一个正则表达式来获取角色的第一个实例之前的所有内容。 下面的正则表达式在’。’之前找到某些字符。 (因为’。’不在模式中)但这是我找到解决方案的hacky方法。 my_string[/[A-Za-z0-9\_-]+/] 谢谢!

正则表达式 – 保存重复捕获的组

这就是我正在做的事情 a = “%span.rockets#diamonds.ribbons.forever” a = a.match(/(^\%\w+)([\.|\#]\w+)+/) puts a.inspect 这就是我得到的 # 这就是我要的 # 救命? 我尝试过但失败了:(