我正在寻找替代方法从提供的示例中获取john。 我的表达式按原样运行,但希望有一些更好的方法的例子。
示例:john&home
我的正则表达式:[a-z]{3,6}[^&home]
我匹配长度为3-6但不包括&home
我运行正则表达式的每个项目都采用相同的格式。 3-6个字符后跟&home
我查看了其他帖子,但希望得到特定于我的正则表达式的回复。
答案 0 :(得分:1)
大多数正则表达式引擎允许您使用捕获组捕获正则表达式的一部分。例如:
^([A-Za-z]{3,6})&home$
此处的括号表示您对&home
之前的部分感兴趣。 ^
和$
表示您要匹配整个字符串。没有它,averylongname&homeofsomeone
也将匹配。
由于您使用 rubular ,我假设您使用Ruby正则表达式引擎。在这种情况下,您可以使用:
full = "john&home"
name = full.match(/^([A-Za-z]{3,6})&home$/).captures
在这种情况下,name
将包含john
。