我试图使用Ruby从字符串中提取下面的模式,我似乎没有在Ruby上走得太远......
这是我正在使用的正则表达式 \/p\/[\w-\/]*[\d+]
这是我想要提取的字符串类型.
/p/hyphenated-words/more-hyphenated-words/102049294
因此,简而言之,字符串始终以/ p /开头,以多个数字结尾,并包含一个或多个带有可能连字符的子目录.
我的正则表达式适用于一些在线表达式测试人员,但不适用于Ruby.
除了@Mark Byers回答:
/p/[\w-/]*[\d+]
Run Code Online (Sandbox Code Playgroud)
正则表达式的[\ d +]部分无关紧要.原因是它之前是一个贪婪的量词,它量化了一个反过来包含的类\w.\w翻译成[a-zA-Z0-9_]"吃掉"之后的任何挖掘物.
最后,而不是[\ d +],只需使用\ d(如果必须).