Ruby on rails 将地址与regex匹配不需要';与目标零件不匹配

Ruby on rails 将地址与regex匹配不需要';与目标零件不匹配,ruby-on-rails,regex,Ruby On Rails,Regex,我的正则表达式不太好 使用我的输入字符串LT 1 BLK 4 LAKES OF PARKWAY 5 R/p&AMEND 我只想匹配字符串中数字4和5之间的唯一部分 也就是说,我的预期结果是公园路的湖泊 我试图想出一个模式来得到这样的结果 \d+\s+([A-z ]+)(\d+.*?)*$ 但就我的模式而言,它仅与BLK和5R/p&AMEND分别匹配为第1组和第2组。在我的思维模式结束时,我决定使用字符串结尾匹配,$。 因此,当5 R/P&AMEND匹配时,指针应该移到子序列部分的后面。然后,

我的正则表达式不太好

使用我的输入字符串
LT 1 BLK 4 LAKES OF PARKWAY 5 R/p&AMEND

我只想匹配字符串中数字
4
5
之间的唯一部分

也就是说,我的预期结果是公园路的湖泊

我试图想出一个模式来得到这样的结果

 \d+\s+([A-z ]+)(\d+.*?)*$
但就我的模式而言,它仅与
BLK
5R/p&AMEND
分别匹配为第1组和第2组。在我的思维模式结束时,我决定使用字符串结尾匹配,
$
。 因此,当
5 R/P&AMEND
匹配时,指针应该移到子序列部分的后面。然后,
([A-z]+)
应该与公园路的湖泊相匹配

我的模式怎么了?如何让它发挥作用

任何建议都将不胜感激。

请尝试
\d+\s+(\d+)\d+\d*$


\D
表示“任何非
\D
的内容,因此不允许在前1和4之间进行匹配,因为此时正则表达式的结尾将在后面的
5

处被拒绝。这看起来像PCRE,但是,您能告诉我们您使用的语言或库吗?这样我们就可以确定您的答案应该使用哪种语法了?有许多不同的、不兼容的正则表达式(例如,POSIX BRE是grep默认使用的,POSIX ERE在许多其他标准工具中使用)…顺便说一句,
[A-z]
的含义取决于您的语言环境;使用它不安全。如果您想要
[:alpha:][:space:][]
,这是可能的(尽管它的确切编写方式取决于哪个正则表达式)。谢谢Charles。我在RubyonRails中使用正则表达式。是PCRE吗?Ruby的正则表达式是。。。与PCRE类似,尽管它们有一些我以前从未见过的扩展,而且我还没有检查它们是否实现了与PCRE语法的完全兼容性。将来,当你问一个问题的时候,指定这就是你要用的东西可能不会有什么坏处。