我正在寻找替代方法,从提供的示例中获得john。我的表达式的工作原理,但希望得到一些更好的方法的例子。
示例:john&home
我的regexp:[a-z]{3,6}[^&home]
I匹配任何长度为3-6的字符,但不包括&home
我运行regexp的每一项都是相同格式的。3-6个字符,后面跟着&home
我看过其他的帖子,但希望得到一个具体的回复,我的regexp。
发布于 2015-02-23 00:35:12
大多数regex引擎允许您使用捕获组捕获正则表达式的各个部分。例如:
^([A-Za-z]{3,6})&home$
这里的括号意味着您对&home
之前的部分感兴趣。^
和$
意味着要匹配整个字符串。没有它,averylongname&homeofsomeone
也将被匹配。
因为您使用了rubular,所以我假设您使用的是Ruby regex引擎。例如,在这种情况下,可以使用:
full = "john&home"
name = full.match(/^([A-Za-z]{3,6})&home$/).captures
在本例中,name
将包含john
。
https://stackoverflow.com/questions/28665227
复制相似问题