问题标签 [rubular]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
142 浏览

regex - 如何让我的正则表达式获取第一个匹配项,并忽略任何后续匹配项?

我正在制作正则表达式以从药品目录中提取剂量说明。我从许多不同的品牌中获取信息,即使在一个品牌内,格式也不一致,所以我的表达必须是宽容的。正则表达式是在 Ruby 中实现的(但不是由我实现的)。

我的正则表达式如下:

正确工作的代码示例如下:

"建议使用:作为膳食补充剂,每日 1-3 粒,分次服用,饭前服用。 "

- 我得到dose_amount= 1-3dose_format= 胶囊dose_frequency= 每天一次,和dose_permutation= "分剂量,饭前"

但是,我遇到了以下描述的问题:

"使用说明:对于成人,每天服用一 (1) 片,最好随餐服用或遵照您的医疗保健专业人员的建议。吞咽前让片剂在舌头上溶解。提醒一下,请根据您的健康状况讨论您服用的补充剂和药物护理人员。

问题是在描述中多次使用“take”这个词。我会得到dose_amount= with,和dose_format= your。(它匹配第二个'take',而不是第一个。)

有没有办法强制正则表达式只匹配描述中的第一个“take”?我已经尝试过将其设为贪婪与非贪婪,如此所述,但我无法让它发挥作用。

谢谢你。

0 投票
2 回答
344 浏览

ruby - 寻找一种方法来匹配任何以特定 tld 结尾的域电子邮件

regex 和 ruby​​ 的新手正在寻找一种方法来匹配任何以特定 tld 结尾的域

我有以下电子邮件:

我正在尝试编写一个正则表达式,它将匹配任何具有顶级域 .mil 和 .gov 的电子邮件,但不匹配其余的。我尝试了以下方法:

但我不知道如何让它匹配之前的一切.mil

我正在使用红宝石。这是我在 rubular 中尝试的内容: http: //rubular.com/r/BP7tqgAntY

0 投票
2 回答
199 浏览

ruby - DSL 的正则表达式

我正在尝试编写一个捕获两组的正则表达式:第一个是一组 n 个单词(其中 n>= 0 并且它是变量),第二个是一组具有这种格式的对field:value。在这两个组中,个人由空格分隔。最终,一个可选的空格将两个组分开(除非其中一个是空白/无)。

请考虑以下示例:

我尝试了很多组合和模式,但我无法让它发挥作用。我最接近的模式是/([[\w]*\s?]*)([\w+:[\w]+\s?]*)/,但在之前公开的第二种和第三种情况下它不能正常工作。

谢谢!

0 投票
1 回答
803 浏览

ruby - 正则表达式匹配双引号内的特殊字符

我的输入字符串是:

在Ruby语言中使用gsub方法,有没有办法用字符'$'替换出现在双引号中的字符'&',如果gsub方法不能解决这个问题,有没有其他方法可以用来解决这个问题.

由于 gsub 方法中的第一个参数可以是一个正则表达式,所以匹配的正则表达式将被第二个参数替换,获得一个正确的正则表达式来识别也可能解决这个问题,因为它可以在 gsub 方法中替换为 '&' 与 '$ '。

预期输出如图所示:

0 投票
2 回答
46 浏览

regex - 正则表达式:帮助完成 rubular 中的正则表达式

我需要帮助来完成以下上下文的 Perl 正则表达式:

http://rubular.com/r/kyLAy679Ql

谢谢,

0 投票
1 回答
1088 浏览

ruby - 如何在不拆分字符串的情况下获得像 Rubular 这样的红宝石匹配组

Rubular ( Example ) 如何获得匹配组?

match方法(在示例中)仅返回第一个匹配项。

scan方法返回一个没有命名捕获的数组。

获取一组命名捕获(不拆分)的最佳方法是什么?

0 投票
2 回答
56 浏览

ruby - 部分查找单词的正则表达式问题

我有一个正则表达式适用于某些单词但不是全部:

似乎没有被捕获的字符串如下:

我的正则表达式不适用于上述字符串,我认为这不是因为使用了不恰当的词。这是我尝试过的 rubular 永久链接:http ://rubular.com/r/WOr7xYPePs 它具有其余重要的示例字符串。

0 投票
4 回答
474 浏览

ruby - 正则表达式提取不同 URL 的最后一个数字部分

我正在创建一个 URL 解析器并拥有三种 URL,我想从中提取 URL 末尾的数字部分并将提取的数字增加 10 并更新 URL。我正在尝试使用正则表达式进行提取,但我是正则表达式的新手并且遇到了麻烦。

这是三个 URL 结构,我想增加其中的最后一个数字部分:

  1. 将最后一个数字 20 增加 10:

    /li>
  2. 将最后一个数字 50 增加 10:

    /li>
  3. 将最后一个数字 30 增加 10:

    /li>
0 投票
1 回答
57 浏览

ruby - 删除括号内的文本和尾随空格

我为此使用Rubular。我有以下字符串:

我正在尝试使用以下内容从字符串中删除所有括号:

问题是这并没有抢占空间,所以结果如下:

“嗨,世界。嗨,世界。嗨,世界。嗨,世界。嗨,世界。嗨,世界。嗨,世界。嗨,世界。嗨,世界,嗨,世界。”

请注意句号之前的不需要的空格。如何更新正则表达式以删除删除括号时留下的额外空间?

0 投票
1 回答
147 浏览

ruby-on-rails - Rails 正则表达式匹配组覆盖自身

我正在尝试匹配这个字符串:

NFPA 101 19.7.2.2

我正在使用这个正则表达式:

这似乎与字符串匹配,但捕获的组不是我想要的。我预计:

  1. NFPA
  2. 101
  3. 19
  4. 7
  5. 2
  6. 2

我得到的是:

  1. NFPA
  2. 101
  3. 2

请参阅此 rubular 示例: http ://rubular.com/r/43VY0yyNa7

就好像最后一个重复捕获组被最后一场比赛所覆盖。有没有办法让所有这些作为我需要的捕获组返回?

添加了另一个正则表达式,它给了我上面描述的类似问题: (NFPA) (.+) (.+?.)+(.+)