正则表达式标记为子表达式

时间:2011-03-10 14:56:55

标签: regex

假设我有一个10个字母的单词,说“HelloWorld”。我想分别在一个正则表达式中回忆起前5个字符(“Hello”)和完整的10个字母(“HelloWorld”)。有没有办法只使用一个RE?我的意思是使用“()”元字符。

2 个答案:

答案 0 :(得分:1)

寻找:

/((.{5}).*)/

虽然第一组将是整个单词,但第二组将是部分单词。

除非按照与任意数量的字符不同的方式进行细分

答案 1 :(得分:1)

这是一个只使用 sed (1)支持的正则表达式语法的版本:

$ echo HelloWorld | sed 's/^\(.....\).*$/First: "\1" All: "&"/'
First: "Hello" All: "HelloWorld"